Opdater README med GUI instruktioner og stop-knap funktionalitet

This commit is contained in:
Martin Tranberg
2026-03-26 16:06:27 +01:00
parent b33009c54c
commit 5d5c8b2d5b

View File

@@ -4,6 +4,8 @@ Dette script gør det muligt at downloade specifikke mapper fra et SharePoint do
## Funktioner
* **Moderne GUI (UX):** Flot mørkt interface med CustomTkinter, der gør det nemt at gemme indstillinger, vælge mapper og se status i realtid.
* **Stop-funktionalitet:** Afbryd synkroniseringen midt i processen direkte fra UI.
* **Paralleldownload:** Benytter `ThreadPoolExecutor` (default 5 tråde) for markant højere overførselshastighed.
* **Resume Download:** Understøtter HTTP `Range` headers, så afbrudte downloads af store filer (f.eks. >50GB) genoptages fra det sidste byte i stedet for at starte forfra.
* **Exponential Backoff:** Håndterer automatisk Microsoft Graph throttling (`429 Too Many Requests`) og netværksfejl med intelligente genforsøg.
@@ -35,24 +37,27 @@ For at scriptet kan få adgang til SharePoint, skal du oprette en App-registreri
9. Gå til **Certificates & secrets** > **New client secret**. Tilføj en beskrivelse og vælg udløbsdato.
10. **VIGTIGT:** Kopier værdien under **Value** med det samme (det er din `CLIENT_SECRET`). Du kan ikke se den igen senere.
## Konfiguration
1. Kopier `connection_info.template.txt` til en ny fil kaldet `connection_info.txt`.
2. Indstil dine forbindelsesoplysninger i `connection_info.txt`:
* `TENANT_ID`, `CLIENT_ID`, `CLIENT_SECRET` (Fra Microsoft Entra admin center).
* `SITE_URL`: URL til din SharePoint site.
* `DOCUMENT_LIBRARY`: Navnet på dokumentbiblioteket (f.eks. "22 Studies").
* `FOLDERS_TO_DOWNLOAD`: Liste over mapper adskilt af komma. Hvis denne efterlades tom, downloades hele biblioteket.
* `LOCAL_PATH`: Hvor filerne skal gemmes lokalt.
## Anvendelse
Kør scriptet med:
```bash
python download_sharepoint.py
```
Der er to måder at køre værktøjet på:
### Logfiler
### 1. GUI Version (Anbefalet)
For en moderne grafisk brugerflade, kør:
```bash
python sharepoint_gui.py
```
Her kan du nemt indtaste indstillinger, gemme dem, vælge destinationsmappe og starte/stoppe synkroniseringen.
### 2. CLI Version (Til automatisering)
Hvis du ønsker at køre scriptet direkte fra terminalen:
1. Kopier `connection_info.template.txt` til `connection_info.txt`.
2. Udfyld dine oplysninger.
3. Kør:
```bash
python download_sharepoint.py
```
## Logfiler
* `sharepoint_download.log`: Teknisk log over alle handlinger og fejl.
* `download_report_YYYYMMDD_HHMMSS.csv`: En hurtig oversigt over filer der fejlede.