INNER CODE UNIT · Python
gather_live
zachlagden/Pi-hole-Optimized-Blocklists · .github/triage/triage/__main__.py:65
def gather_live(evidence: Evidence, take_screenshot: bool) -> None:
evidence.addresses = live.resolve(evidence.domain)
evidence.fetches = attempt(evidence, "live fetch", lambda: live.fetch_all(evidence.domain), [])
evidence.cloaking = live.cloaking_summary(evidence.fetches)
request = evidence.request
texts = [request.raw_domain, request.evidence, request.details, request.body] + [c.body for c in request.thread]
urls = live.quoted_urls("\n".join(texts), evidence.domain, limit=5)
evidence.quoted_fetches = [attempt(evidence, f"fetch {url}", lambda u=url: live.fetch_url(u, "desktop"), live.Fetch("desktop", url)) for url in urls]
live_quoted = next((f.chain[0] for f in evidence.quoted_fetches if f.status and f.status < 400), None)
if take_screenshot and evidence.addresses:
evidence.capture = attempt(evidence, "screenshot", lambda: screenshot.capture(evidence.domain, live_quoted), None)
if evidence.capture and evidence.capture.error:
evidence.failures.append(f"screenshot: {evidence.capture.error}")
def gather(request: IssueRequest, repo_root: Path, github: GitHub, options: argparse.Namespace) -> Evidence:
domain = request.domain or ""
evidence = Evidence(request=request, domain=domain, apex=registrable(domain), platform=shared_platform(domain))