@@ -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,30 +481,31 @@ 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
492492def 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 :
497+ dest = f"{ target_path } /{ lang } /"
498+ shutil .rmtree (dest , ignore_errors = True )
498499 cmds = [
499500 "rsync" ,
500501 "-av" ,
501502 "--delete" ,
502- f"{ languages_path } /{ lang } /" ,
503- f" { target_path } / { lang } /" ,
503+ f"{ source_path } /{ lang } /" ,
504+ dest ,
504505 ]
505506 p = Popen (cmds , stdout = PIPE , stderr = PIPE )
506507 stdout , stderr = p .communicate ()
508+ sys .stderr .write (f"\n Copying: { lang } ...\n \n " )
507509 sys .stderr .write (stdout .decode ())
508510 sys .stderr .write (stderr .decode ())
509511
@@ -526,15 +528,22 @@ def main(
526528 config = get_config (base_config_fname )
527529 translations_path = os .path .join (base_folder , f"{ config ['translations' ]['folder' ]} " )
528530
529- sys .stderr .write ("Downloading and extracting translations...\n " )
530- download_and_extract_translations (config ["translations" ]["url" ], translations_path )
531+ sys .stderr .write ("\n Downloading and extracting translations...\n \n " )
532+ translations_extract_path = translations_path
533+ translations_source_path = os .path .join (
534+ translations_path , config ["translations" ]["source_path" ]
535+ )
536+
537+ download_and_extract_translations (
538+ config ["translations" ]["url" ], translations_extract_path
539+ )
531540
532- translated_languages = get_languages (translations_path )
541+ translated_languages = get_languages (translations_source_path )
533542 default_language = config ["translations" ]["default_language" ]
534543 languages = [default_language ] + translated_languages
535544
536- sys .stderr .write ("Copying translations...\n " )
537- copy_translations (translations_path , source_path , translated_languages )
545+ sys .stderr .write ("\n Copying translations...\n " )
546+ copy_translations (translations_source_path , source_path , translated_languages )
538547
539548 for language in languages :
540549 sys .stderr .write (f"\n Processing language: { language } ...\n \n " )
@@ -596,7 +605,6 @@ def main(
596605 shutil .copy (
597606 os .path .join (source_path , fname ), os .path .join (target_path , dirname )
598607 )
599- return 0
600608
601609
602610if __name__ == "__main__" :
0 commit comments