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))
+