diff options
author | nicoo <nicoo@mur.at> | 2023-12-18 20:28:35 +0000 |
---|---|---|
committer | nicoo <nicoo@mur.at> | 2023-12-18 20:38:17 +0000 |
commit | 38e912eaa3890122be2c1354772d1791e53ea8dc (patch) | |
tree | 5e0620706eb5a547fd6f1845ef5a4e1e813ac121 /doc | |
parent | ba387f0a5be2a11366b046c6e28f9ce4bd348f58 (diff) |
doc/tests/manpage-urls.py: Add type annotations
Diffstat (limited to 'doc')
-rwxr-xr-x | doc/tests/manpage-urls.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/doc/tests/manpage-urls.py b/doc/tests/manpage-urls.py index e5242892b7fb9..a1ea6d27969e7 100755 --- a/doc/tests/manpage-urls.py +++ b/doc/tests/manpage-urls.py @@ -1,11 +1,13 @@ #! /usr/bin/env nix-shell #! nix-shell -i "python3 -I" -p "python3.withPackages(p: with p; [ aiohttp rich structlog ])" -from argparse import ArgumentParser +from argparse import ArgumentParser, Namespace from collections import defaultdict +from collections.abc import Mapping, Sequence from enum import IntEnum from http import HTTPStatus from pathlib import Path +from typing import Optional import asyncio, json, logging import aiohttp, structlog @@ -24,7 +26,7 @@ EXPECTED_STATUS=frozenset(( HTTPStatus.NOT_FOUND, )) -async def check(session, manpage: str, url: str) -> HTTPStatus: +async def check(session: aiohttp.ClientSession, manpage: str, url: str) -> HTTPStatus: with log_context(manpage=manpage, url=url): logger.debug("Checking") async with session.head(url) as resp: @@ -41,12 +43,12 @@ async def check(session, manpage: str, url: str) -> HTTPStatus: return st -async def main(urls_path): +async def main(urls_path: Path) -> Mapping[HTTPStatus, int]: logger.info(f"Parsing {urls_path}") with urls_path.open() as urls_file: urls = json.load(urls_file) - count = defaultdict(lambda: 0) + count: defaultdict[HTTPStatus, int] = defaultdict(lambda: 0) logger.info(f"Checking URLs from {urls_path}") async with aiohttp.ClientSession() as session: @@ -65,7 +67,7 @@ async def main(urls_path): return count -def parse_args(args=None): +def parse_args(args: Optional[Sequence[str]] = None) -> Namespace: parser = ArgumentParser( prog = 'check-manpage-urls', description = 'Check the validity of the manpage URLs linked in the nixpkgs manual', |