Gør bibliotekssøgning mere robust og tilføj navne-fallback

- 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)
This commit is contained in:
Martin Tranberg
2026-03-29 17:59:34 +02:00
parent ed508302a6
commit 790ca91339

View File

@@ -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):