Move code to load ISO 3166 data into localization.py

This commit is contained in:
Kovid Goyal 2023-07-13 08:13:09 +05:30
parent a562c1f637
commit 01d3e45a18
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
2 changed files with 11 additions and 10 deletions

View File

@ -6,21 +6,14 @@ __copyright__ = '2014, Kovid Goyal <kovid at kovidgoyal.net>'
from collections import namedtuple
from calibre.utils.localization import canonicalize_lang
from calibre.utils.resources import get_path as P
from calibre.utils.localization import canonicalize_lang, load_iso3166
DictionaryLocale = namedtuple('DictionaryLocale', 'langcode countrycode')
ccodes, ccodemap, country_names = None, None, None
def get_codes():
global ccodes, ccodemap, country_names
if ccodes is None:
from calibre.utils.serialize import msgpack_loads
data = msgpack_loads(P('localization/iso3166.calibre_msgpack', allow_user_override=False, data=True))
ccodes, ccodemap, country_names = data['codes'], data['three_map'], data['names']
return ccodes, ccodemap
data = load_iso3166()
return data['codes'], data['three_map']
def parse_lang_code(raw):

View File

@ -414,6 +414,14 @@ def _load_iso639():
return _iso639
def load_iso3166():
ans = getattr(load_iso3166, 'ans', None)
if ans is None:
from calibre.utils.serialize import msgpack_loads
ans = load_iso3166.ans = msgpack_loads(P('localization/iso3166.calibre_msgpack', allow_user_override=False, data=True))
return ans
def get_iso_language(lang_trans, lang):
iso639 = _load_iso639()
ans = lang