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:
@@ -152,9 +152,24 @@ def get_site_id(app, site_url):
|
|||||||
def get_drive_id(app, site_id, drive_name):
|
def get_drive_id(app, site_id, drive_name):
|
||||||
url = f"https://graph.microsoft.com/v1.0/sites/{site_id}/drives"
|
url = f"https://graph.microsoft.com/v1.0/sites/{site_id}/drives"
|
||||||
response = safe_get(url, headers=get_headers(app))
|
response = safe_get(url, headers=get_headers(app))
|
||||||
for drive in response.json().get('value', []):
|
drives = response.json().get('value', [])
|
||||||
if drive['name'] == drive_name: return drive['id']
|
|
||||||
raise Exception(f"Drive {drive_name} not found")
|
# 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 ---
|
# --- Punkt 2: Resume / Chunked Download logic ---
|
||||||
def get_fresh_download_url(app, drive_id, item_id):
|
def get_fresh_download_url(app, drive_id, item_id):
|
||||||
|
|||||||
Reference in New Issue
Block a user