Exemplo n.º 1
0
 def __init__(self,
              spec,
              sign=1,
              allowdate=1,
              add_granularity=False,
              translator=i18n):
     """Construct an interval given a specification."""
     self.setTranslator(translator)
     try:
         # Python 2.
         arith_types = (int, float, long)
     except NameError:
         # Python 3.
         arith_types = (int, float)
     if isinstance(spec, arith_types):
         self.from_seconds(spec)
     elif is_us(spec):
         self.set(spec,
                  allowdate=allowdate,
                  add_granularity=add_granularity)
     elif isinstance(spec, Interval):
         (self.sign, self.year, self.month, self.day, self.hour,
          self.minute, self.second) = spec.get_tuple()
     else:
         if len(spec) == 7:
             self.sign, self.year, self.month, self.day, self.hour, \
                 self.minute, self.second = spec
             self.second = int(self.second)
         else:
             # old, buggy spec form
             self.sign = sign
             self.year, self.month, self.day, self.hour, self.minute, \
                 self.second = spec
             self.second = int(self.second)
Exemplo n.º 2
0
def find_locales(language=None):
    """Return normalized list of locale names to try for given language

    Argument 'language' may be a single language code or a list of codes.
    If 'language' is omitted or None, use locale settings in OS environment.

    """
    # body of this function is borrowed from gettext_module.find()
    if language is None:
        languages = []
        for envar in ('LANGUAGE', 'LC_ALL', 'LC_MESSAGES', 'LANG'):
            val = os.environ.get(envar)
            if val:
                languages = val.split(':')
                break
    elif is_us(language):
        languages = [language]
    else:
        # 'language' must be iterable
        languages = language
    # now normalize and expand the languages
    nelangs = []
    for lang in languages:
        for nelang in gettext_module._expand_lang(lang):
            if nelang not in nelangs:
                nelangs.append(nelang)
    return nelangs