diff --git a/app/modules/jellyfin/jellyfin.py b/app/modules/jellyfin/jellyfin.py index 20861be3..3d9e5ef2 100644 --- a/app/modules/jellyfin/jellyfin.py +++ b/app/modules/jellyfin/jellyfin.py @@ -235,13 +235,14 @@ class Jellyfin: continue if policy.get("EnableAllFolders"): return user.get("Id") - elif not policy.get("EnableAllFolders"): - logger.warning(f"管理员账号 {user.get('Name')} 仅可访问{len(policy.get("EnabledFolders") or [])}/{total_library_count}个媒体库,可能导致媒体库数据不完整!") + else: + enabled_folders = policy.get('EnabledFolders') or [] + current_count = len(enabled_folders) # 更新最佳管理员 - if best_admin_id is None or len(policy.get("EnabledFolders") or []) > best_admin_library_count: + if best_admin_id is None or current_count > best_admin_library_count: best_admin_id = user.get("Id") best_admin_name = user.get("Name") - best_admin_library_count = len(policy.get("EnabledFolders") or []) + best_admin_library_count = current_count logger.warning(f"未找到具备全库访问权限的管理员账号,回退使用仅可访问{best_admin_library_count}/{total_library_count}个媒体库的管理员账号{best_admin_name}!") return best_admin_id else: