Cleanup in preparation for release. Add docstrings, remove basically empty _constants...
[python-collate.git] / collate / syslocale.py
index e2aeed9..5b8adca 100644 (file)
@@ -22,6 +22,8 @@ Avoid this backend if...
  
 """
 
+__all__ = ["Collator"]
+
 import locale
 import re
 
@@ -33,6 +35,7 @@ class Collator(collate._abcollator.Collator):
     """C library locale-based collation."""
 
     def __init__(self, locale_code, encoding=None):
+        super(Collator, self).__init__(locale, encoding)
         locale_code, encoding = collate._locale.getpair(locale_code, encoding)
         try:
             setlocale = locale_code + "." + encoding
@@ -54,22 +57,9 @@ class Collator(collate._abcollator.Collator):
         except UnicodeEncodeError:
             return locale.strxfrm(string.encode(self.encoding, "replace"))
 
-    def cmp(self, a, b):
-        """Return negative if a < b, zero if a == b, positive if a > b.
-
-        If strs rather than unicodes are passed in, they are first
-        decoded according to the 'encoding' attribute of the Collator.
-        """
-        if isinstance(a, str):
-            a = a.decode(self.encoding, "replace")
-        if isinstance(b, str):
-            b = b.decode(self.encoding, "replace")
-        return locale.strcoll(a, b)
-                                  
     def words(self, string, sep=re.compile(r"\W+", re.UNICODE)):
-        """Split the string into separate words.
-
-        This split is done using the locale's notion of a word boundry.
-        """
+        """Split the string into separate words."""
+        if isinstance(string, str):
+            string = string.decode(self.encoding, 'replace')
         return re.split(sep, string)