From 533d4a041d1dc3c6f2af74a86fc1c180ddab2f05 Mon Sep 17 00:00:00 2001 From: milaq Date: Sat, 17 Aug 2019 20:23:40 +0200 Subject: [PATCH] paging: set complete item count for folders allows proper paging for yamaha AVRs --- ycast/server.py | 2 ++ ycast/vtuner.py | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ycast/server.py b/ycast/server.py index 7819328..2d02515 100644 --- a/ycast/server.py +++ b/ycast/server.py @@ -39,6 +39,7 @@ def get_directories_page(subdir, directories, requestargs): return page for directory in get_paged_elements(directories, requestargs): page.add(vtuner.Directory(directory, url_for(subdir, _external=True, directory=directory))) + page.set_count(len(directories)) return page @@ -49,6 +50,7 @@ def get_stations_page(stations, requestargs): return page for station in get_paged_elements(stations, requestargs): page.add(station.to_vtuner()) + page.set_count(len(stations)) return page diff --git a/ycast/vtuner.py b/ycast/vtuner.py index 6ab5d34..cca93c4 100644 --- a/ycast/vtuner.py +++ b/ycast/vtuner.py @@ -26,11 +26,13 @@ def add_bogus_parameter(url): class Page: def __init__(self): self.items = [] - self.count = 0 + self.count = -1 def add(self, item): self.items.append(item) - self.count = len(self.items) + + def set_count(self, count): + self.count = count def to_xml(self): xml = etree.Element('ListOfItems')