INNER CODE UNIT · Python
with_labels
zachlagden/Pi-hole-Optimized-Blocklists · .github/triage/triage/__main__.py:137
def with_labels(issue: dict, plan: LabelPlan) -> dict:
names = ({label["name"] for label in issue.get("labels", [])} - plan.remove) | plan.add
return {**issue, "labels": [{"name": name} for name in sorted(names)]}
def run_issue(options: argparse.Namespace) -> int:
github = GitHub.from_env()
discord = make_discord(options)
api_key = None if options.no_ai else os.environ.get("MINIMAX_API_KEY")
issue = github.issue(options.number)
previous = parse_state((github.report(options.number) or {}).get("body"))
classification, type_plan = (None, LabelPlan()) if previous else classify_issue(issue, api_key)
issue = with_labels(issue, type_plan)
current = {label["name"] for label in issue["labels"]}
request = from_issue(issue)
request.thread = github.thread(issue)
today = datetime.now(UTC).date()
if request.kind == "other":