Files
Sharepoint-Download-Tool/README.md
Martin Tranberg c5d4ddaab0 Enterprise-grade optimeringer: Windows Long Path, High-Performance Hashing og Dokumentation
- Tilføjer 'get_long_path' for at understøtte Windows-stier over 260 tegn
- Implementerer dual-mode hashing: Bruger 'quickxorhash' C-bibliotek hvis muligt, ellers manual Python fallback
- Opdaterer requirements.txt med quickxorhash
- Opdaterer README.md og GEMINI.md med de seneste funktioner og tekniske specifikationer
2026-03-29 19:33:31 +02:00

43 lines
2.6 KiB
Markdown

# SharePoint Folder Download Tool
Dette script gør det muligt at downloade specifikke mapper fra et SharePoint dokumentbibliotek til din lokale computer ved hjælp af Microsoft Graph API. Scriptet er designet til professionelt brug med fokus på hastighed, stabilitet og dataintegritet.
## 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.
* **Windows Long Path Support:** Håndterer automatisk Windows' begrænsning på 260 tegn i filstier ved brug af `\\?\` præfiks, hvilket sikrer stabilitet ved dybe SharePoint-strukturer.
* **Timestamp Synkronisering:** Downloader kun filer, hvis kilden på SharePoint er nyere end din lokale fil (`lastModifiedDateTime` vs. lokal `mtime`).
* **High-Performance Integritet:** Validerer filernes korrekthed med Microsofts officielle **QuickXorHash**-algoritme.
* **Hastighed:** Bruger automatisk det lynhurtige `quickxorhash` C-bibliotek, hvis det er installeret (anbefales til store filer).
* **Fallback:** Har indbygget en præcis 160-bit Python-implementering som fallback, hvis biblioteket ikke findes.
* **Smart Grænse:** Definer en MB-grænse (standard 30 MB), hvor filer herunder altid hashes, mens større filer (f.eks. 65 GB) kun sammenlignes på størrelse for at spare tid (kan konfigureres).
* **Robust Bibliotekssøgning:** Finder automatisk dit bibliotek og har indbygget fallback (f.eks. fra "Delte dokumenter" til "Documents").
* **Resume Download:** Understøtter HTTP `Range` headers for genoptagelse af store filer.
* **Auto-Refresh af Downloads & Tokens:** Fornyer automatisk sessioner og links midt i processen.
* **Exponential Backoff:** Håndterer Microsoft Graph throttling (`429 Too Many Requests`) intelligent.
## Installation
1. Sørg for at have Python 3 installeret.
2. Installer de nødvendige biblioteker:
```bash
pip install -r requirements.txt
```
## Anvendelse
### 1. GUI Version (Anbefalet)
Kør: `python sharepoint_gui.py`
### 2. CLI Version (Til automatisering)
Kør: `python download_sharepoint.py`
## Konfiguration (connection_info.txt)
* `ENABLE_HASH_VALIDATION`: Sæt til `"True"` eller `"False"`.
* `HASH_THRESHOLD_MB`: Talværdi (f.eks. `"30"` eller `"50"`).
## Sikkerhed
Husk at `.gitignore` er sat op til at ignorere `connection_info.txt`, så dine adgangskoder ikke uploades til Git.