Batch 10 Python: Hashliste for assets er et praktisk eksempel for Python drift og automatisering med fast ZIP-standard.
Batch 10 Python: Hashliste for assets
Batch 10 Python: Hashliste for assets er et praktisk eksempel for Python drift og automatisering med fast ZIP-standard.
Hva scriptet gjør
Scriptet er et praktisk eksempel for WEBoracle-biblioteket. Det viser én avgrenset teknikk som kan lastes ned, leses og testes uten å måtte endre resten av systemet.
Bruk
Last ned ZIP-pakken, les forklaring og user manual, og test hovedfilen lokalt. Tilpass filnavn, stier, tekst, klasser og data før videre bruk.
Kontroll
Før publisering bør du kontrollere at hovedfilen virker, at alle fire ZIP-filer finnes, og at koden ikke overskriver eksisterende arbeid. Bruk gjerne samme sjekkliste som resten av WEBoracle.
Videre arbeid
Eksempelet kan bygges ut med mer rapportering, flere valg eller tettere integrasjon mot innholdsoversiktene. Hold endringene små og dokumenter dem.
Kode
from pathlib import Path
import json
import hashlib
def sha256(path: Path) -> str:
digest = hashlib.sha256()
with path.open("rb") as handle:
for chunk in iter(lambda: handle.read(65536), b""):
digest.update(chunk)
return digest.hexdigest()
def report(folder: str = ".") -> dict:
root = Path(folder)
files = []
for path in sorted(root.rglob("*")):
if path.is_file():
files.append({"path": path.relative_to(root).as_posix(), "bytes": path.stat().st_size, "sha256": sha256(path)})
return {"topic": "hashliste for assets", "files": files}
if __name__ == "__main__":
print(json.dumps(report(), indent=2, ensure_ascii=False))
Publiseringsnotat
Dette scriptet bør behandles som et startpunkt. En produksjonsversjon må testes med reelle data, riktige rettigheter og forventet servermiljø.
Batch 10 kontrollnotat
ZIP-pakken skal alltid kontrolleres før bruk. Hovedfilen, credits, forklaring og user manual må følge med, og eksempelet bør testes lokalt før det flyttes inn i et aktivt prosjekt.