INNER CODE UNIT · Python

matches

joreilly/Confetti · .github/scripts/ios-changes.py:60

def matches(path: str, patterns: tuple[str, ...]) -> bool:
    return any(path == pattern or (pattern.endswith("/") and path.startswith(pattern)) for pattern in patterns)


def catalog_at(revision: str) -> dict[str, Any]:
    return tomllib.loads(git("show", f"{revision}:{CATALOG_PATH}").decode())


def changed_catalog_entries(base: dict[str, Any], head: dict[str, Any]) -> set[tuple[str, str]]:
    changed: set[tuple[str, str]] = set()
    for section in ("versions", "libraries", "bundles", "plugins"):
        before = base.get(section, {})
        after = head.get(section, {})
        for key in before.keys() | after.keys():
            if before.get(key) != after.get(key):
                changed.add((section, key))
    return changed

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…