INNER CODE UNIT · Python
relevant_catalog_accessors
joreilly/Confetti · .github/scripts/ios-changes.py:94
def relevant_catalog_accessors(base: dict[str, Any], head: dict[str, Any]) -> set[str]:
changed = changed_catalog_entries(base, head)
accessors: set[str] = set()
affected_libraries: set[str] = set()
for section, key in changed:
if section != "versions":
if section == "libraries":
affected_libraries.add(key)
else:
accessors.add(accessor(section, key))
continue
# A named version affects every library/plugin that refers to it. Check
# both revisions so renames and removals remain detectable.
for catalog in (base, head):
for dependent_section in ("libraries", "plugins"):
for alias, entry in catalog.get(dependent_section, {}).items():