Source code for iso_language_codes
# -*- coding: utf-8 -*-
import shelve
from pathlib import Path
db = str(Path(__file__).resolve().parent.joinpath('language_codes.db'))
[docs]def language(code):
"""Get name and autonym for a given two-letter language code.
:param code: two-letter ISO language code
:type code: str
:return: {'Name': String with english name,
'Autonym': String with native name}
:rtype: dict
:raises KeyError: raises key exception
:raises TypeError: raises type exception
:raises AssertionError: raises assert exception
"""
assert (len(code) == 2) # Please provide a two-letter code
with shelve.open(db, flag='r') as s:
return s[code.lower()]
[docs]def language_name(code):
"""Get name for a given two-letter language code.
:param code: two-letter ISO language code
:type code: str
"""
assert (len(code) == 2) # Please provide a two-letter code
with shelve.open(db, flag='r') as s:
return s[code.lower()]['Name']
[docs]def language_autonym(code):
"""Get autonym for a given two-letter ISO language code.
:param code: two-letter ISO language code
:type code: str
"""
assert (len(code) == 2) # Please provide a two-letter code
with shelve.open(db, flag='r') as s:
return s[code.lower()]['Autonym']
[docs]def language_dictionary():
"""Get entire dictionary. Two-letter code as keys."""
with shelve.open(db, flag='r') as s:
return dict(s)
__author__ = """Andrei Ruzin"""
__email__ = 'kirinokirino2501@gmail.com'
__version__ = '1.1.0'