Skip to content

Commit 8eba337

Browse files
committed
Types improvements
1 parent 9a96bf2 commit 8eba337

File tree

3 files changed

+19
-8
lines changed

3 files changed

+19
-8
lines changed

generate.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
from datetime import datetime, timezone
1414
from pathlib import Path
1515
from tempfile import TemporaryDirectory
16+
from typing import cast
1617

1718
from git import Repo
1819
from jinja2 import Template
@@ -22,7 +23,6 @@
2223
import visitors
2324
from completion import branches_from_devguide, get_completion
2425

25-
completion_progress = []
2626
generation_time = datetime.now(timezone.utc)
2727

2828

@@ -53,7 +53,15 @@ def get_completion_progress() -> (
5353
built_on_docs_python_org = language in languages_built
5454
in_switcher = languages_built.get(language)
5555
if not repo:
56-
yield language, repo, 0.0, 0, 0, built_on_docs_python_org, in_switcher
56+
yield (
57+
language,
58+
cast(str, repo),
59+
0.0,
60+
0,
61+
0,
62+
built_on_docs_python_org,
63+
in_switcher,
64+
)
5765
continue
5866
completion_number, translators_number = get_completion(clones_dir, repo)
5967
if built_on_docs_python_org:

repositories.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,26 @@
11
import pathlib
22
import re
3-
from typing import Generator, Optional
3+
from collections.abc import Iterator
44

55
from docutils import core
66
from docutils.nodes import table, row
77

88

99
def get_languages_and_repos(
1010
devguide_dir: pathlib.Path,
11-
) -> Generator[tuple[str, Optional[str]], None, None]:
11+
) -> Iterator[tuple[str, str | None]]:
1212
translating = devguide_dir.joinpath('documentation/translating.rst').read_text()
1313
doctree = core.publish_doctree(translating)
1414

1515
for node in doctree.traverse(table):
1616
for row_node in node.traverse(row)[1:]:
1717
language = row_node[0].astext()
1818
repo = row_node[2].astext()
19-
language_code = (
20-
re.match(r'.* \((.*)\)', language).group(1).lower().replace('_', '-')
21-
)
19+
language_match = re.match(r'.* \((.*)\)', language)
20+
if not language_match:
21+
raise ValueError(
22+
f'Expected a language code in brackets in devguide table, found {language}'
23+
)
24+
language_code = language_match.group(1).lower().replace('_', '-')
2225
repo_match = re.match(':github:`GitHub <(.*)>`', repo)
2326
yield language_code, repo_match and repo_match.group(1)

translators.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def get_number_from_git_history(path: Path) -> int:
1818
def yield_from_headers(path: Path) -> Generator[str, None, None]:
1919
for file in path.rglob('*.po'):
2020
try:
21-
header = pofile(file).header.splitlines()
21+
header = pofile(file).header.splitlines() # type: ignore[call-overload] # https://github.com/python/typeshed/pull/13396
2222
except IOError:
2323
continue
2424
if 'Translators:' not in header:

0 commit comments

Comments
 (0)