X-Git-Url: https://git.korewanetadesu.com/?p=python-collate.git;a=blobdiff_plain;f=collate%2F_locale.py;h=f297f6b3f3c2c977461d1d33acce15fd1f2a9ed9;hp=bebbc957608beb017b4e2cca28b6ccc8fe5b0057;hb=e8b221311bf60883d3f14083bab63fd947d34509;hpb=f7fd328bfc2886f6aed2c09b84cc1e039c7c3240 diff --git a/collate/_locale.py b/collate/_locale.py index bebbc95..f297f6b 100644 --- a/collate/_locale.py +++ b/collate/_locale.py @@ -1,5 +1,7 @@ """Locale utility routines.""" +__all__ = ["localelist", "encoding", "getpair"] + import sys try: @@ -12,8 +14,6 @@ try: except ImportError: codecs = None -__all__ = ["localelist"] - def localelist(*locales): """Normalize and return a list of locales, with appended defaults. @@ -46,21 +46,21 @@ def localelist(*locales): added = set() retlist = [] - for code in locales: - if not code: + for locale_ in locales: + if not locale_: continue if locale is not None: - code = locale.normalize(code) + locale_ = locale.normalize(locale_) # Strip off encoding if present. - code = code.split(".")[0] - if code.lower() not in added: - retlist.append(code) - added.add(code.lower()) + locale_ = locale_.split(".")[0] + if locale_.lower() not in added: + retlist.append(locale_) + added.add(locale_.lower()) # Strip off territory if present. - code = code.split("_")[0] - if code.lower() not in added: - retlist.append(code) - added.add(code.lower()) + locale_ = locale_.split("_")[0] + if locale_.lower() not in added: + retlist.append(locale_) + added.add(locale_.lower()) return retlist @@ -93,7 +93,7 @@ def encoding(preferred=None): if fromlocale is not None: return fromlocale try: - locale.setlocale(locale.LC_COLLATE, '')[1] + locale.setlocale(locale.LC_COLLATE, '') except locale.Error: pass else: @@ -114,6 +114,7 @@ def encoding(preferred=None): return locale.getpreferredencoding() or sys.getdefaultencoding() def getpair(locale_, encoding_): + """If encoding_ is unspecified, get the locale encoding.""" if "." in locale_: if encoding_ is None: locale_, encoding_ = locale_.rsplit(".", 1)