in jobs/webcompat-kb/webcompat_kb/metric_changes.py [0:0]
def get_change_reasons(changes: Sequence[BugFieldChange]) -> list[str]:
reasons = set()
for change in changes:
if change.field_name == "url":
reasons.add("url-updated")
elif change.field_name == "cf_user_story":
reasons.add("triage")
elif change.field_name == "keywords":
if "webcompat:sitepatch-applied" in change.added:
reasons.add("intervention-added")
elif "webcompat:sitepatch-applied" in change.removed:
reasons.add("intervention-removed")
if "webcompat:site-report" in change.added:
reasons.add("site-report-added")
elif "webcompat:site-report" in change.removed:
reasons.add("site-report-removed")
elif change.field_name == "status":
if change.added in FIXED_STATES and change.removed not in FIXED_STATES:
reasons.add("resolved")
elif change.removed in FIXED_STATES and change.added not in FIXED_STATES:
reasons.add("reopened")
rv = list(reasons)
rv.sort()
return rv