Skip to content

Commit abe5aaa

Browse files
committed
Move translations source path to config
1 parent 8eec135 commit abe5aaa

File tree

2 files changed

+16
-10
lines changed

2 files changed

+16
-10
lines changed

web/pandas/config.yml

+1
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,7 @@ roadmap:
207207
translations:
208208
url: https://github.com/Scientific-Python-Translations/pandas-translations/archive/refs/heads/main.tar.gz
209209
folder: translations
210+
source_path: pandas-translations-main/web/pandas/
210211
default_language: 'en'
211212
ignore:
212213
- docs/

web/pandas_web.py

+15-10
Original file line numberDiff line numberDiff line change
@@ -467,6 +467,7 @@ def download_and_extract_translations(url: str, dir_name: str):
467467
"""
468468
Download the translations from the GitHub repository.
469469
"""
470+
shutil.rmtree(dir_name, ignore_errors=True)
470471
response = requests.get(url)
471472
if response.status_code == 200:
472473
doc = io.BytesIO(response.content)
@@ -480,26 +481,24 @@ def get_languages(source_path: str):
480481
"""
481482
Get the list of languages available in the translations directory.
482483
"""
483-
languages_path = f"{source_path}/pandas-translations-main/web/pandas/"
484-
en_path = f"{languages_path}/en/"
484+
en_path = f"{source_path}/en/"
485485
if os.path.exists(en_path):
486486
shutil.rmtree(en_path)
487487

488-
paths = os.listdir(languages_path)
489-
return [path for path in paths if os.path.isdir(f"{languages_path}/{path}")]
488+
paths = os.listdir(source_path)
489+
return [path for path in paths if os.path.isdir(f"{source_path}/{path}")]
490490

491491

492492
def copy_translations(source_path: str, target_path: str, languages: list[str]):
493493
"""
494494
Copy the translations to the appropriate directory.
495495
"""
496-
languages_path = f"{source_path}/pandas-translations-main/web/pandas/"
497496
for lang in languages:
498497
cmds = [
499498
"rsync",
500499
"-av",
501500
"--delete",
502-
f"{languages_path}/{lang}/",
501+
f"{source_path}/{lang}/",
503502
f"{target_path}/{lang}/",
504503
]
505504
p = Popen(cmds, stdout=PIPE, stderr=PIPE)
@@ -527,14 +526,21 @@ def main(
527526
translations_path = os.path.join(base_folder, f"{config['translations']['folder']}")
528527

529528
sys.stderr.write("Downloading and extracting translations...\n")
530-
download_and_extract_translations(config["translations"]["url"], translations_path)
529+
translations_extract_path = translations_path
530+
translations_source_path = os.path.join(
531+
translations_path, config["translations"]["source_path"]
532+
)
533+
534+
download_and_extract_translations(
535+
config["translations"]["url"], translations_extract_path
536+
)
531537

532-
translated_languages = get_languages(translations_path)
538+
translated_languages = get_languages(translations_source_path)
533539
default_language = config["translations"]["default_language"]
534540
languages = [default_language] + translated_languages
535541

536542
sys.stderr.write("Copying translations...\n")
537-
copy_translations(translations_path, source_path, translated_languages)
543+
copy_translations(translations_source_path, source_path, translated_languages)
538544

539545
for language in languages:
540546
sys.stderr.write(f"\nProcessing language: {language}...\n\n")
@@ -596,7 +602,6 @@ def main(
596602
shutil.copy(
597603
os.path.join(source_path, fname), os.path.join(target_path, dirname)
598604
)
599-
return 0
600605

601606

602607
if __name__ == "__main__":

0 commit comments

Comments
 (0)