def __init__(self, language, country=None, strict=False): language = to_unicode(language.strip().lower()) with_country = Language._with_country_regexp.match(language) if with_country: self.lang = Language(with_country.group(1)).lang self.country = Country(with_country.group(2)) return self.lang = None self.country = Country(country) if country else None if len(language) == 2: self.lang = lng2_to_lng3.get(language) elif len(language) == 3: self.lang = (language if language in lng3 else lng3term_to_lng3.get(language)) else: self.lang = (lng_en_name_to_lng3.get(language) or lng_fr_name_to_lng3.get(language)) if self.lang is None and language in lng_exceptions: lang, country = lng_exceptions[language] self.lang = Language(lang).alpha3 self.country = Country(country) if country else None msg = 'The given string "%s" could not be identified as a language' % language if self.lang is None and strict: raise ValueError(msg) if self.lang is None: log.debug(msg) self.lang = 'unk'
def __init__(self, country, strict=False): country = to_unicode(country.strip().lower()) self.alpha3 = country_to_alpha3.get(country) if self.alpha3 is None and strict: msg = 'The given string "%s" could not be identified as a country' raise ValueError(msg % country) if self.alpha3 is None: self.alpha3 = 'unk'
def __init__(self, country, strict=False): country = to_unicode(country.strip().lower()) self.alpha3 = country_to_alpha3.get(country) if self.alpha3 is None and strict: msg = 'The given string "%s" could not be identified as a country' raise ValueError(msg % country) if self.alpha3 is None: self.alpha3 = "unk"
def __init__(self, language, country=None, strict=False, scheme=None): language = to_unicode(language.strip().lower()) with_country = (Language._with_country_regexp.match(language) or Language._with_country_regexp2.match(language)) if with_country: self.lang = Language(with_country.group(1)).lang self.country = Country(with_country.group(2)) return self.lang = None self.country = Country(country) if country else None # first look for scheme specific languages if scheme == 'opensubtitles': if language == 'br': self.lang = 'bre' return elif language == 'se': self.lang = 'sme' return elif scheme is not None: log.warning( 'Unrecognized scheme: "%s" - Proceeding with standard one' % scheme) # look for ISO language codes if len(language) == 2: self.lang = lng2_to_lng3.get(language) elif len(language) == 3: self.lang = (language if language in lng3 else lng3term_to_lng3.get(language)) else: self.lang = (lng_en_name_to_lng3.get(language) or lng_fr_name_to_lng3.get(language)) # general language exceptions if self.lang is None and language in lng_exceptions: lang, country = lng_exceptions[language] self.lang = Language(lang).alpha3 self.country = Country(country) if country else None msg = 'The given string "%s" could not be identified as a language' % language if self.lang is None and strict: raise ValueError(msg) if self.lang is None: log.debug(msg) self.lang = 'und'
def __init__(self, language, country=None, strict=False, scheme=None): language = to_unicode(language.strip().lower()) with_country = (Language._with_country_regexp.match(language) or Language._with_country_regexp2.match(language)) if with_country: self.lang = Language(with_country.group(1)).lang self.country = Country(with_country.group(2)) return self.lang = None self.country = Country(country) if country else None # first look for scheme specific languages if scheme == 'opensubtitles': if language == 'br': self.lang = 'bre' return elif language == 'se': self.lang = 'sme' return elif scheme is not None: log.warning('Unrecognized scheme: "%s" - Proceeding with standard one' % scheme) # look for ISO language codes if len(language) == 2: self.lang = lng2_to_lng3.get(language) elif len(language) == 3: self.lang = (language if language in lng3 else lng3term_to_lng3.get(language)) else: self.lang = (lng_en_name_to_lng3.get(language) or lng_fr_name_to_lng3.get(language)) # general language exceptions if self.lang is None and language in lng_exceptions: lang, country = lng_exceptions[language] self.lang = Language(lang).alpha3 self.country = Country(country) if country else None msg = 'The given string "%s" could not be identified as a language' % language if self.lang is None and strict: raise ValueError(msg) if self.lang is None: log.debug(msg) self.lang = 'und'