diff --git a/scripts/agent_poller.py b/scripts/agent_poller.py index d246220..b2e5595 100644 --- a/scripts/agent_poller.py +++ b/scripts/agent_poller.py @@ -57,7 +57,9 @@ def _req(method, path, data=None): def _req_safe(method, path, data=None): - """Like _req but returns None on HTTPError. Safe for probing existence.""" + """Like _req but returns None on HTTPError instead of crashing. + Used for probing issue/PR existence where the caller can handle absence. + """ url = f"{BASE}{path}" payload = json.dumps(data).encode("utf-8") if data else None req = urllib.request.Request(url, data=payload, method=method) @@ -103,7 +105,7 @@ def _get_blocking_refs(issue_num: int) -> set[int]: # Body issue = _req_safe("GET", f"/issues/{issue_num}") if issue is None: - return refs + return refs # API error → return empty set, keep blocked body = issue.get("body", "") or "" refs.update(int(m.group(1)) for m in re.finditer(r'#(\d+)', body)) # Comments @@ -135,7 +137,7 @@ def blocked_check(): for blk in blocking_nums: blk_issue = _req_safe("GET", f"/issues/{blk}") if blk_issue is None: - all_resolved = False + all_resolved = False # API error → keep blocked break if blk_issue.get("state") != "closed": all_resolved = False @@ -209,7 +211,7 @@ def _unblock_issues_blocked_by(closed_num): continue blk_issue = _req_safe("GET", f"/issues/{blk}") if blk_issue is None: - all_resolved = False + all_resolved = False # API error → keep blocked break if blk_issue.get("state") != "closed": all_resolved = False