Spaces:
Sleeping
Sleeping
File size: 583 Bytes
7d7841f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import asyncio
from dataclasses import dataclass
from app.fetching import FetchResult, fetch_url, make_root_url
@dataclass(frozen=True)
class AuditContext:
url: str
homepage: FetchResult
robots: FetchResult
sitemap: FetchResult
async def build_audit_context(url: str) -> AuditContext:
homepage, robots, sitemap = await asyncio.gather(
fetch_url(url),
fetch_url(make_root_url(url, "/robots.txt")),
fetch_url(make_root_url(url, "/sitemap.xml")),
)
return AuditContext(url=url, homepage=homepage, robots=robots, sitemap=sitemap)
|