Backupkopi med manifest er et praktisk Python-eksempel for WEBoracle med fast ZIP-nedlasting og tilhørende forklaring.
Backupkopi med manifest
Backupkopi med manifest er et praktisk Python-eksempel for WEBoracle med fast ZIP-nedlasting og tilhørende forklaring.
Hva scriptet gjør
Scriptet er laget som et praktisk eksempel for WEBoracle-biblioteket. Det viser en avgrenset løsning som kan kopieres, testes lokalt og bygges videre på.
Når det passer
Bruk eksempelet når du trenger en liten, tydelig startfil og ønsker å se hvordan struktur, kommentarer og testpunkter kan settes opp før produksjon.
Før bruk
- Les forklaring og user manual i ZIP-pakken.
- Tilpass stier, navn og tekst til ditt prosjekt.
- Test i et lukket testmiljø før publisering.
Kode
from pathlib import Path
import hashlib, json
def file_hash(path: Path) -> str:
h = hashlib.sha256()
with path.open("rb") as handle:
for chunk in iter(lambda: handle.read(65536), b""):
h.update(chunk)
return h.hexdigest()
def build_manifest(folder: str) -> list[dict]:
root = Path(folder)
rows = []
for path in sorted(root.rglob("*")):
if path.is_file():
rows.append({
"path": path.relative_to(root).as_posix(),
"bytes": path.stat().st_size,
"sha256": file_hash(path),
})
return rows
if __name__ == "__main__":
manifest = build_manifest(".")
print(json.dumps(manifest, indent=2, ensure_ascii=False))