syslocale: Standardize API.
[python-collate.git] / collate / syslocale / __init__.py
diff --git a/collate/syslocale/__init__.py b/collate/syslocale/__init__.py
deleted file mode 100644 (file)
index a76d538..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-import locale
-
-import collate.errors
-import collate._abcollator
-
-class Collator(collate._abcollator.Collator):
-    def __init__(self, locale_code, encoding=None):
-       default = locale.getdefaultlocale()[0]
-       for locale in [locale_code, default]:
-           try:
-               locale.setlocale(locale.LC_COLLATE, locale_code)
-           except locale.Error as err:
-               pass
-           else:
-               break
-       else:
-           raise collate.errors.InvalidLocaleError("no locale found")
-        self.locale = locale.getlocale()[0]
-        try:
-            self.__encoding = locale_code.split(".")[1]
-        except IndexError:
-            self.__encoding = locale_code.split(locale.getpreferredencoding())
-
-    def key(self, string):
-        try:
-            return locale.strxfrm(string)
-        except UnicodeEncodeError:
-            return locale.strxfrm(string.encode(self.__encoding, "replace"))
-
-    def cmp(self, string1, string2):
-        if isinstance(string1, str):
-            string1 = string1.decode(self.__encoding, "replace")
-        if isinstance(string2, str):
-            string2 = string2.decode(self.__encoding, "replace")
-        return locale.strcoll(string1, string2)
-