Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit9f34377

Browse files
authored
Extractswitchers.js rendering into a new function. (#280)
Previously, identical content for ``switchers.js`` was rendered for eachversion-language pair. This commit pre-renders the content of the file,then writing it to disk for each version-language pair.
1 parent5cfd94e commit9f34377

File tree

1 file changed

+25
-15
lines changed

1 file changed

+25
-15
lines changed

‎build_docs.py

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -467,23 +467,13 @@ def edit(file: Path):
467467
temporary.rename(file)
468468

469469

470-
defsetup_switchers(versions:Versions,languages:Languages,html_root:Path)->None:
470+
defsetup_switchers(script_content:bytes,html_root:Path)->None:
471471
"""Setup cross-links between CPython versions:
472472
- Cross-link various languages in a language switcher
473473
- Cross-link various versions in a version switcher
474474
"""
475-
language_pairs=sorted((l.tag,l.switcher_label)forlinlanguagesifl.in_prod)# NoQA: E741
476-
version_pairs= [(v.name,v.picker_label)forvinreversed(versions)]
477-
478-
switchers_template_file=HERE/"templates"/"switchers.js"
479475
switchers_path=html_root/"_static"/"switchers.js"
480-
481-
template=Template(switchers_template_file.read_text(encoding="UTF-8"))
482-
rendered_template=template.safe_substitute(
483-
LANGUAGES=json.dumps(language_pairs),
484-
VERSIONS=json.dumps(version_pairs),
485-
)
486-
switchers_path.write_text(rendered_template,encoding="UTF-8")
476+
switchers_path.write_text(script_content,encoding="UTF-8")
487477

488478
forfileinhtml_root.glob("**/*.html"):
489479
depth=len(file.relative_to(html_root).parts)-1
@@ -541,8 +531,8 @@ class DocBuilder:
541531
version:Version
542532
versions:Versions
543533
language:Language
544-
languages:Languages
545534
cpython_repo:Repository
535+
switchers_content:bytes
546536
build_root:Path
547537
www_root:Path
548538
select_output:Literal["no-html","only-html","only-html-en"]|None
@@ -697,7 +687,7 @@ def build(self) -> None:
697687
run(["chgrp","-R",self.group,self.log_directory])
698688
ifself.includes_html:
699689
setup_switchers(
700-
self.versions,self.languages,self.checkout/"Doc"/"build"/"html"
690+
self.switchers_content,self.checkout/"Doc"/"build"/"html"
701691
)
702692
logging.info("Build done (%s).",format_seconds(perf_counter()-start_time))
703693

@@ -1108,6 +1098,8 @@ def build_docs(args: argparse.Namespace) -> bool:
11081098
force_build=args.force
11091099
delargs.force
11101100

1101+
switchers_content=render_switchers(versions,languages)
1102+
11111103
build_succeeded=set()
11121104
build_failed=set()
11131105
cpython_repo=Repository(
@@ -1127,7 +1119,12 @@ def build_docs(args: argparse.Namespace) -> bool:
11271119
scope.set_tag("language",language.tag)
11281120
cpython_repo.update()
11291121
builder=DocBuilder(
1130-
version,versions,language,languages,cpython_repo,**vars(args)
1122+
version,
1123+
versions,
1124+
language,
1125+
cpython_repo,
1126+
switchers_content,
1127+
**vars(args),
11311128
)
11321129
built_successfully=builder.run(http,force_build=force_build)
11331130
ifbuilt_successfully:
@@ -1179,6 +1176,19 @@ def parse_languages_from_config() -> Languages:
11791176
returnLanguages.from_json(config["defaults"],config["languages"])
11801177

11811178

1179+
defrender_switchers(versions:Versions,languages:Languages)->bytes:
1180+
language_pairs=sorted((l.tag,l.switcher_label)forlinlanguagesifl.in_prod)# NoQA: E741
1181+
version_pairs= [(v.name,v.picker_label)forvinreversed(versions)]
1182+
1183+
switchers_template_file=HERE/"templates"/"switchers.js"
1184+
template=Template(switchers_template_file.read_text(encoding="UTF-8"))
1185+
rendered_template=template.safe_substitute(
1186+
LANGUAGES=json.dumps(language_pairs),
1187+
VERSIONS=json.dumps(version_pairs),
1188+
)
1189+
returnrendered_template.encode("UTF-8")
1190+
1191+
11821192
defbuild_sitemap(
11831193
versions:Versions,languages:Languages,www_root:Path,group:str
11841194
)->None:

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp