1
0
mirror of https://github.com/janeczku/calibre-web synced 2025-11-17 07:27:10 +00:00

support pycountry if iso-639 is not available

This commit is contained in:
Daniel Pavel
2019-03-02 03:13:43 +02:00
parent 4b301a7961
commit f7e640fd98
3 changed files with 31 additions and 4 deletions

28
cps/isoLanguages.py Normal file
View File

@@ -0,0 +1,28 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
try:
from iso639 import languages, __version__
get = languages.get
except ImportError:
from pycountry import languages as pyc_languages
try:
import pkg_resources
__version__ = pkg_resources.get_distribution('pycountry').version + ' (PyCountry)'
del pkg_resources
except:
__version__ = "? (PyCountry)"
def _copy_fields(l):
l.part1 = l.alpha_2
l.part3 = l.alpha_3
return l
def get(name=None, part1=None, part3=None):
if (part3 is not None):
return _copy_fields(pyc_languages.get(alpha_3=part3))
if (part1 is not None):
return _copy_fields(pyc_languages.get(alpha_2=part1))
if (name is not None):
return _copy_fields(pyc_languages.get(name=name))