Simplify algorithm. No changes to sort behavior or runtime.
[python-collate.git] / collate / _abcollator.py
index 0ae5d45..9dce32b 100644 (file)
@@ -18,15 +18,11 @@ class Collator(object):
         instance according to the 'encoding' attribute of the
         Collator.
         """
-        keys = []
         if isinstance(string, str):
             string = string.decode(self.encoding, 'replace')
-        for sorteme in collate.strings.sortemes(string):
-            num, alpha = collate.strings.numeric(sorteme, invalid)
-            if num == invalid:
-                keys.append(self.key(alpha))
-            else:
-                keys.append(num)
+
         # Shove the sortkeyed original string on the end to resolve
         # ties intelligently.
-        return (keys, self.key(string))
+        return (collate.strings.sortemes(string, self.key),
+                self.key(string))
+