11"""
2- Fetch languages in the https://docs.python.org language switcher .
2+ Fetch build status of languages in the https://docs.python.org.
33
4- Return a defaultdict mapping language codes to a Boolean indicating
4+ Yield a tuple of language code and a Boolean indicating
55whether it is in the language switcher.
66"""
77
88import tomllib
9- from typing import Generator
9+ from collections . abc import Generator
1010
1111import requests
1212
1313
14- def get_languages () -> Generator [str , None , None ]:
14+ def get_languages () -> Generator [tuple [ str , str ] ]:
1515 data = requests .get (
1616 'https://raw.githubusercontent.com/'
1717 'python/docsbuild-scripts/refs/heads/main/config.toml' ,
@@ -21,15 +21,16 @@ def get_languages() -> Generator[str, None, None]:
2121 languages = config ['languages' ]
2222 defaults = config ['defaults' ]
2323 for code , language in languages .items ():
24- if language .get ('in_prod' , defaults ['in_prod' ]):
25- yield code .lower ().replace ('_' , '-' )
24+ language_code = code .lower ().replace ('_' , '-' )
25+ switcher = language .get ('in_prod' , defaults ['in_prod' ])
26+ yield language_code , switcher
2627
2728
2829def main () -> None :
29- languages = list ( get_languages ())
30+ languages = { language : switcher for language , switcher in get_languages ()}
3031 print (languages )
31- for code in ('en' , 'pl' , 'ar' , 'zh-cn' ):
32- print (f'{ code } : { code in languages } ' )
32+ for code in ('en' , 'pl' , 'ar' , 'zh-cn' , 'id' ):
33+ print (f'{ code } : { code in languages and languages [ code ] } ' )
3334
3435
3536if __name__ == '__main__' :
0 commit comments