Proper fix for unicode sorting error

This commit is contained in:
Kovid Goyal 2013-07-22 12:54:56 +05:30
parent 4f5764b1a8
commit dcedc5b87d
2 changed files with 1 additions and 7 deletions

View File

@ -31,7 +31,7 @@ class Field(object):
self.has_text_data = dt in {'text', 'comments', 'series', 'enumeration'}
self.table_type = self.table.table_type
self._sort_key = (sort_key if dt in ('text', 'series', 'enumeration') else lambda x: x)
self._default_sort_key = ''
self._default_sort_key = b''
if dt in {'int', 'float', 'rating'}:
self._default_sort_key = 0
elif dt == 'bool':

View File

@ -52,16 +52,10 @@ class Table(object):
self.name, self.metadata = name, metadata
self.sort_alpha = metadata.get('is_multiple', False) and metadata.get('display', {}).get('sort_alpha', False)
text = lambda x:x.decode('utf-8', 'replace') if isinstance(x, bytes) else x
# self.unserialize() maps values from the db to python objects
self.unserialize = \
{
'datetime': _c_convert_timestamp,
'text': text,
'comments': text,
'series': text,
'enumeration': text,
'bool': bool
}.get(
metadata['datatype'], lambda x: x)