INNER CODE UNIT · Python

inventory

yaojingang/GEOFlow · deployment/generate-upgrade-plan.py:68

def inventory(root: Path, previous: dict) -> list[dict]:
    known = {entry["name"]: entry for entry in previous.get("migrations", [])}
    result = []
    for path in sorted((root / "database/migrations").glob("*.php")):
        if path.is_symlink() or not path.is_file():
            raise ValueError(f"Migration must be a regular file: {path.name}")
        digest = hashlib.sha256(path.read_bytes()).hexdigest()
        old = known.get(path.stem, {})
        result.append({
            "name": path.stem,
            "sha256": digest,
            "online": old.get("online") is True and old.get("sha256") == digest,
        })
    return result


def main() -> int:
    parser = argparse.ArgumentParser(description=__doc__)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…