paging: set complete item count for folders

allows proper paging for yamaha AVRs
This commit is contained in:
milaq 2019-08-17 20:23:40 +02:00
parent b1dca83e51
commit 533d4a041d
2 changed files with 6 additions and 2 deletions

View file

@ -39,6 +39,7 @@ def get_directories_page(subdir, directories, requestargs):
return page return page
for directory in get_paged_elements(directories, requestargs): for directory in get_paged_elements(directories, requestargs):
page.add(vtuner.Directory(directory, url_for(subdir, _external=True, directory=directory))) page.add(vtuner.Directory(directory, url_for(subdir, _external=True, directory=directory)))
page.set_count(len(directories))
return page return page
@ -49,6 +50,7 @@ def get_stations_page(stations, requestargs):
return page return page
for station in get_paged_elements(stations, requestargs): for station in get_paged_elements(stations, requestargs):
page.add(station.to_vtuner()) page.add(station.to_vtuner())
page.set_count(len(stations))
return page return page

View file

@ -26,11 +26,13 @@ def add_bogus_parameter(url):
class Page: class Page:
def __init__(self): def __init__(self):
self.items = [] self.items = []
self.count = 0 self.count = -1
def add(self, item): def add(self, item):
self.items.append(item) self.items.append(item)
self.count = len(self.items)
def set_count(self, count):
self.count = count
def to_xml(self): def to_xml(self):
xml = etree.Element('ListOfItems') xml = etree.Element('ListOfItems')