Skip to content

Commit a0fb70a

Browse files
committed
Add language names
1 parent 46193b0 commit a0fb70a

File tree

3 files changed

+22
-7
lines changed

3 files changed

+22
-7
lines changed

generate.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
def get_completion_progress() -> (
3131
Iterator[
3232
tuple[
33+
str,
3334
str,
3435
str,
3536
float,
@@ -63,14 +64,15 @@ def get_completion_progress() -> (
6364
['make', '-C', Path(clones_dir, 'cpython/Doc'), 'gettext'], check=True
6465
)
6566
languages_built = dict(build_status.get_languages())
66-
for lang, repo in repositories.get_languages_and_repos(devguide_dir):
67+
for lang, lang_name, repo in repositories.get_languages_and_repos(devguide_dir):
6768
built = lang in languages_built
6869
in_switcher = languages_built.get(lang)
6970
tx = lang in contribute.pulling_from_transifex
7071
contrib_link = contribute.get_contrib_link(lang)
7172
if not repo:
7273
yield (
7374
lang,
75+
lang_name,
7476
cast(str, repo),
7577
0.0,
7678
0,
@@ -86,6 +88,7 @@ def get_completion_progress() -> (
8688
visitors_num = visitors.get_number_of_visitors(lang) if built else 0
8789
yield (
8890
lang,
91+
lang_name,
8992
repo,
9093
completion,
9194
translators,

repositories.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,36 @@
11
import re
22
from collections.abc import Iterator
33
from pathlib import Path
4+
from tempfile import TemporaryDirectory
45

56
from docutils import core
67
from docutils.nodes import table, row
8+
from git import Repo
79

810

9-
def get_languages_and_repos(devguide_dir: Path) -> Iterator[tuple[str, str | None]]:
11+
def get_languages_and_repos(
12+
devguide_dir: Path,
13+
) -> Iterator[tuple[str, str, str | None]]:
1014
translating = devguide_dir.joinpath('documentation/translating.rst').read_text()
1115
doctree = core.publish_doctree(translating)
1216

1317
for node in doctree.traverse(table):
1418
for row_node in node.traverse(row)[1:]:
1519
language = row_node[0].astext()
1620
repo = row_node[2].astext()
17-
language_match = re.match(r'.* \((.*)\)', language)
21+
language_match = re.match(r'(.*) \((.*)\)', language)
1822
if not language_match:
1923
raise ValueError(
2024
f'Expected a language code in brackets in devguide table, found {language}'
2125
)
22-
language_code = language_match.group(1).lower().replace('_', '-')
26+
language_name = language_match.group(1)
27+
language_code = language_match.group(2).lower().replace('_', '-')
2328
repo_match = re.match(':github:`GitHub <(.*)>`', repo)
24-
yield language_code, repo_match and repo_match.group(1)
29+
yield language_code, language_name, repo_match and repo_match.group(1)
30+
31+
32+
if __name__ == '__main__':
33+
with TemporaryDirectory() as directory:
34+
Repo.clone_from('https://github.com/python/devguide.git', directory, depth=1)
35+
for item in get_languages_and_repos(Path(directory)):
36+
print(item)

template.html.jinja

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@
1717
</tr>
1818
</thead>
1919
<tbody>
20-
{% for language, repo, completion, translators, translators_link, visitors, build, in_switcher, on_platform, contrib_link in completion_progress | sort(attribute='2,3') | reverse %}
20+
{% for language, language_name, repo, completion, translators, translators_link, visitors, build, in_switcher, on_platform, contrib_link in completion_progress | sort(attribute='2,3') | reverse %}
2121
<tr>
2222
{% if repo %}
2323
<td data-label="language">
2424
<a href="https://github.com/{{ repo }}" target="_blank">
25-
{{ language }}
25+
{{ language_name }} ({{ language }})
2626
</a>
2727
</td>
2828
{% else %}

0 commit comments

Comments
 (0)