From 790ca91339648c30a5c2b59bbba8e7196235ee89 Mon Sep 17 00:00:00 2001 From: Martin Tranberg Date: Sun, 29 Mar 2026 17:59:34 +0200 Subject: [PATCH] =?UTF-8?q?G=C3=B8r=20bibliotekss=C3=B8gning=20mere=20robu?= =?UTF-8?q?st=20og=20tilf=C3=B8j=20navne-fallback?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Tilføjer automatisk fallback til 'Documents' hvis 'Delte dokumenter' ikke findes - Forbedrer fejlmeddelelsen ved at logge alle tilgængelige biblioteksnavne på sitet - Dette løser problemer med lokaliserede SharePoint-navne (dansk vs engelsk) --- download_sharepoint.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/download_sharepoint.py b/download_sharepoint.py index ca2c3ba..47e59ed 100644 --- a/download_sharepoint.py +++ b/download_sharepoint.py @@ -152,9 +152,24 @@ def get_site_id(app, site_url): def get_drive_id(app, site_id, drive_name): url = f"https://graph.microsoft.com/v1.0/sites/{site_id}/drives" response = safe_get(url, headers=get_headers(app)) - for drive in response.json().get('value', []): - if drive['name'] == drive_name: return drive['id'] - raise Exception(f"Drive {drive_name} not found") + drives = response.json().get('value', []) + + # Prøv præcis match + for drive in drives: + if drive['name'] == drive_name: + return drive['id'] + + # Prøv fallback til "Documents" hvis "Delte dokumenter" fejler (SharePoint standard) + if drive_name == "Delte dokumenter": + for drive in drives: + if drive['name'] == "Documents": + logger.info("Found 'Documents' as fallback for 'Delte dokumenter'") + return drive['id'] + + # Log tilgængelige navne for at hjælpe brugeren + available_names = [d['name'] for d in drives] + logger.error(f"Drive '{drive_name}' not found. Available drives on this site: {available_names}") + raise Exception(f"Drive {drive_name} not found. Check the log for available drive names.") # --- Punkt 2: Resume / Chunked Download logic --- def get_fresh_download_url(app, drive_id, item_id):