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

Commitd1f0418

Browse files
authored
Add more helper properties in theLanguage class (#293)
1 parentfe84a0b commitd1f0418

File tree

1 file changed

+21
-17
lines changed

1 file changed

+21
-17
lines changed

‎build_docs.py

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,14 @@ class Language:
280280
deftag(self)->str:
281281
returnself.iso639_tag.replace("_","-").lower()
282282

283+
@property
284+
defis_translation(self)->bool:
285+
returnself.tag!="en"
286+
287+
@property
288+
deflocale_repo_url(self)->str:
289+
returnf"https://github.com/python/python-docs-{self.tag}.git"
290+
283291
@property
284292
defswitcher_label(self)->str:
285293
ifself.translated_name:
@@ -549,7 +557,7 @@ def run(self, http: urllib3.PoolManager, force_build: bool) -> bool | None:
549557
logging.info("Skipping non-HTML build (language is HTML-only).")
550558
returnNone# skipped
551559
self.cpython_repo.switch(self.version.branch_or_tag)
552-
ifself.language.tag!="en":
560+
ifself.language.is_translation:
553561
self.clone_translation()
554562
iftrigger_reason:=self.should_rebuild(force_build):
555563
self.build_venv()
@@ -569,6 +577,10 @@ def run(self, http: urllib3.PoolManager, force_build: bool) -> bool | None:
569577
returnFalse
570578
returnTrue
571579

580+
@property
581+
deflocale_dir(self)->Path:
582+
returnself.build_root/self.version.name/"locale"
583+
572584
@property
573585
defcheckout(self)->Path:
574586
"""Path to CPython git clone."""
@@ -582,15 +594,8 @@ def clone_translation(self) -> None:
582594
deftranslation_repo(self)->Repository:
583595
"""See PEP 545 for translations repository naming convention."""
584596

585-
locale_repo=f"https://github.com/python/python-docs-{self.language.tag}.git"
586-
locale_clone_dir= (
587-
self.build_root
588-
/self.version.name
589-
/"locale"
590-
/self.language.iso639_tag
591-
/"LC_MESSAGES"
592-
)
593-
returnRepository(locale_repo,locale_clone_dir)
597+
locale_clone_dir=self.locale_dir/self.language.iso639_tag/"LC_MESSAGES"
598+
returnRepository(self.language.locale_repo_url,locale_clone_dir)
594599

595600
@property
596601
deftranslation_branch(self)->str:
@@ -611,10 +616,9 @@ def build(self) -> None:
611616
logging.info("Build start.")
612617
start_time=perf_counter()
613618
sphinxopts=list(self.language.sphinxopts)
614-
ifself.language.tag!="en":
615-
locale_dirs=self.build_root/self.version.name/"locale"
619+
ifself.language.is_translation:
616620
sphinxopts.extend((
617-
f"-D locale_dirs={locale_dirs}",
621+
f"-D locale_dirs={self.locale_dir}",
618622
f"-D language={self.language.iso639_tag}",
619623
"-D gettext_compact=0",
620624
"-D translation_progress_classes=1",
@@ -636,7 +640,7 @@ def build(self) -> None:
636640

637641
ifself.includes_html:
638642
site_url=self.version.url
639-
ifself.language.tag!="en":
643+
ifself.language.is_translation:
640644
site_url+=f"{self.language.tag}/"
641645
# Define a tag to enable opengraph socialcards previews
642646
# (used in Doc/conf.py and requires matplotlib)
@@ -718,7 +722,7 @@ def copy_build_to_webroot(self, http: urllib3.PoolManager) -> None:
718722
logging.info("Publishing start.")
719723
start_time=perf_counter()
720724
self.www_root.mkdir(parents=True,exist_ok=True)
721-
ifself.language.tag=="en":
725+
ifnotself.language.is_translation:
722726
target=self.www_root/self.version.name
723727
else:
724728
language_dir=self.www_root/self.language.tag
@@ -786,7 +790,7 @@ def should_rebuild(self, force: bool) -> str | Literal[False]:
786790
logging.info("Should rebuild: no previous state found.")
787791
return"no previous state"
788792
cpython_sha=self.cpython_repo.run("rev-parse","HEAD").stdout.strip()
789-
ifself.language.tag!="en":
793+
ifself.language.is_translation:
790794
translation_sha=self.translation_repo.run(
791795
"rev-parse","HEAD"
792796
).stdout.strip()
@@ -849,7 +853,7 @@ def save_state(
849853
"triggered_by":trigger,
850854
"cpython_sha":self.cpython_repo.run("rev-parse","HEAD").stdout.strip(),
851855
}
852-
ifself.language.tag!="en":
856+
ifself.language.is_translation:
853857
state["translation_sha"]=self.translation_repo.run(
854858
"rev-parse","HEAD"
855859
).stdout.strip()

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp