From 1af3a0ef59e81c78350fbe29f5981e1e8126d5e4 Mon Sep 17 00:00:00 2001 From: DDSRem <73049927+DDSRem@users.noreply.github.com> Date: Wed, 13 May 2026 19:09:45 +0800 Subject: [PATCH] fix: handle None items in alipan list to prevent TypeError (#5765) When the Aliyun Drive API returns an error response (e.g. UserNotAllowedAccessDrive), resp.get("items") is None, causing len() to raise TypeError. Extract items with a safe default to fix the crash and avoid a potential infinite loop. Fix https://github.com/jxxghp/MoviePilot/issues/5664 Co-authored-by: Claude Sonnet 4.6 --- app/modules/filemanager/storages/alipan.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/modules/filemanager/storages/alipan.py b/app/modules/filemanager/storages/alipan.py index 0b3246b8e..18b71cd80 100644 --- a/app/modules/filemanager/storages/alipan.py +++ b/app/modules/filemanager/storages/alipan.py @@ -378,9 +378,10 @@ class AliPan(StorageBase, metaclass=WeakSingleton): if not resp: break next_marker = resp.get("next_marker") - for item in resp.get("items", []): + current_items = resp.get("items") or [] + for item in current_items: items.append(self.__get_fileitem(item, parent=str(fileitem.path))) - if len(resp.get("items")) < 100: + if len(current_items) < 100: break return items