Merge branch 'master' of git.calculate-linux.org:calculate-3/calculate-lib

legacy27 3.6.0_beta3
Mike Hiretsky 6 years ago
commit e1e3228dcd

@ -30,7 +30,6 @@ setLocalTranslate('cl_lib3', sys.modules[__name__])
__ = getLazyLocalTranslate(_)
class Locale(object):
# http://www.localeplanet.com/icu/
langData = OrderedDict([
@ -523,6 +522,31 @@ class Locale(object):
return wrapper
raise AttributeError("'Locale' object has no attribute '%s'" % attrname)
def getLang(self, **kw):
"""
Получить язык по указанному полю.
getLang(keymap="ua-utf")
"""
if not kw:
raise AttributeError("getLang: field missed")
field = next(iter(kw.keys()))
if field not in self.fields:
raise AttributeError("getLang: wrong field")
return self.getLangByField(field, kw[field])
def __getattr__(self, attrname):
"""
Обработка getKeymap, getXkblayout
"""
if attrname.startswith('get'):
fieldname = attrname[3:].lower()
if fieldname in self.fields:
def wrapper(fieldvalue):
return self.getFieldByLang(fieldname, fieldvalue)
return wrapper
raise AttributeError("'Locale' object has no attribute '%s'" % attrname)
def getLangByField(self, field, value):
value = value or ""
if field == 'locale':

Loading…
Cancel
Save