X-Git-Url: https://git.korewanetadesu.com/?p=python-collate.git;a=blobdiff_plain;f=collate%2F__init__.py;h=1d48178845a7b886e908087901dce2b1e0640034;hp=6d1806a0f0d11cd69a9ee3e4e5c5063eda122463;hb=c02c5c3c54d35e7d5836adf54aadac1f79906f05;hpb=29f1f7e12a4ca6100b00dc0d32e84f82f530bcb4 diff --git a/collate/__init__.py b/collate/__init__.py index 6d1806a..1d48178 100644 --- a/collate/__init__.py +++ b/collate/__init__.py @@ -11,30 +11,34 @@ except ImportError: collator = None -def set_locale(locale_code, strict=False): +def set_locale(locale_code): global collator if collator is None or collator.locale != locale_code: - try: - collator = default.Collator(locale_code, strict) - except collate.errors.InvalidLocaleError: - if strict: - raise + for code in [locale_code, + locale_code.split("_")[0], + locale.getdefaultlocale()[0], + locale.getdefaultlocale()[0].split("_")[0], + None]: + try: + collator = default.Collator(code) + except collate.errors.InvalidLocaleError: + pass else: - default_locale = locale.getdefaultlocale()[0] - try: - collator = default.Collator(default_locale, strict) - except collate.errors.InvalidLocaleError: - if not collator: - raise + break + else: + raise collate.errors.InvalidLocaleError(locale_code) def get_locale(): return collator.locale -def set_backend(backend, strict=False): +def set_backend(backend): pass def key(string): return collator.key(string) +def cmp(string1, string2): + return collator.cmp(string1, string2) + set_locale(locale.getdefaultlocale()[0])