Script • Python drift og automatisering

Backupkopi med manifest

Backupkopi med manifest er et praktisk Python-eksempel for WEBoracle med fast ZIP-nedlasting og tilhørende forklaring.

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.upda
Weboracle
19.07.20260 visningerPython

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