|
|
@ -474,6 +474,8 @@ end
|
|
|
|
|
|
|
|
|
|
|
|
function OPDSBrowser:appendCatalog(item_table_url)
|
|
|
|
function OPDSBrowser:appendCatalog(item_table_url)
|
|
|
|
local new_table = self:genItemTableFromURL(item_table_url)
|
|
|
|
local new_table = self:genItemTableFromURL(item_table_url)
|
|
|
|
|
|
|
|
if #new_table == 0 then return false end
|
|
|
|
|
|
|
|
|
|
|
|
for _, item in ipairs(new_table) do
|
|
|
|
for _, item in ipairs(new_table) do
|
|
|
|
table.insert(self.item_table, item)
|
|
|
|
table.insert(self.item_table, item)
|
|
|
|
end
|
|
|
|
end
|
|
|
@ -728,11 +730,20 @@ end
|
|
|
|
|
|
|
|
|
|
|
|
function OPDSBrowser:onNext()
|
|
|
|
function OPDSBrowser:onNext()
|
|
|
|
logger.dbg("fetch next page catalog")
|
|
|
|
logger.dbg("fetch next page catalog")
|
|
|
|
local hrefs = self.item_table.hrefs
|
|
|
|
-- self.page_num comes from menu.lua
|
|
|
|
local page_num = self.page_num
|
|
|
|
local page_num = self.page_num
|
|
|
|
while page_num == self.page_num and hrefs and hrefs.next do
|
|
|
|
-- fetch more entries until we fill out one page or reach the end
|
|
|
|
self:appendCatalog(hrefs.next)
|
|
|
|
while page_num == self.page_num do
|
|
|
|
|
|
|
|
local hrefs = self.item_table.hrefs
|
|
|
|
|
|
|
|
if hrefs and hrefs.next then
|
|
|
|
|
|
|
|
if not self:appendCatalog(hrefs.next) then
|
|
|
|
|
|
|
|
break -- reach end of paging
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
break
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
return true
|
|
|
|
return true
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|