]> jfr.im git - yt-dlp.git/commitdiff
[utils] Fix `PagedList`
authorpukkandan <redacted>
Tue, 16 Nov 2021 15:44:02 +0000 (21:14 +0530)
committerpukkandan <redacted>
Tue, 16 Nov 2021 15:46:05 +0000 (21:16 +0530)
yt_dlp/utils.py

index f07eef61f0c8e011cb88396e99fd3b6a4650b587..a9e066257d3af2362c0601c26fef216144cc6d25 100644 (file)
@@ -4179,7 +4179,9 @@ def __init__(self, pagefunc, pagesize, use_cache=True):
         self._cache = {}
 
     def getpage(self, pagenum):
-        page_results = self._cache.get(pagenum) or list(self._pagefunc(pagenum))
+        page_results = self._cache.get(pagenum)
+        if page_results is None:
+            page_results = list(self._pagefunc(pagenum))
         if self._use_cache:
             self._cache[pagenum] = page_results
         return page_results
@@ -4195,7 +4197,9 @@ def __getitem__(self, idx):
         if not isinstance(idx, int) or idx < 0:
             raise TypeError('indices must be non-negative integers')
         entries = self.getslice(idx, idx + 1)
-        return entries[0] if entries else None
+        if not entries:
+            raise IndexError()
+        return entries[0]
 
 
 class OnDemandPagedList(PagedList):