+import collate._strings
+
class Collator(object):
def cmp(self, string1, string2):
"""Return negative if a < b, zero if a == b, positive if a > b."""
"""
return string.split()
- def wordkeys(self, string):
- return map(self.key, self.words)
+ def sortemes(self, string):
+ return collate._strings.alnumsplit(string)
+
+ def sortemekey(self, string, invalid=float('inf')):
+ words = []
+ for sorteme in self.sortemes(string):
+ num, alpha = collate._strings.numeric(sorteme, invalid)
+ words.append((num, self.key(alpha)))
+ return words