- def sortemekey(self, string, invalid=float('inf')):
- keys = []
- 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)
+ def key(self, string):
+ return string
+
+ def words(self, string):
+ """Split the string along word boundries."""
+ if isinstance(string, str):
+ string = string.decode(self.encoding, 'replace')
+ return string.split()
+
+ def sortemekey(self, string):
+ """Return a key based on sortemes of a string.
+
+ If the string is a str instance, it is decoded to a unicode
+ instance according to the 'encoding' attribute of the
+ Collator.
+ """
+ if isinstance(string, str):
+ string = string.decode(self.encoding, 'replace')
+