diff --git a/src/calibre/db/fields.py b/src/calibre/db/fields.py index 8c6d18a74d..933a4c861c 100644 --- a/src/calibre/db/fields.py +++ b/src/calibre/db/fields.py @@ -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': diff --git a/src/calibre/db/tables.py b/src/calibre/db/tables.py index 34de470090..f71abe2a6d 100644 --- a/src/calibre/db/tables.py +++ b/src/calibre/db/tables.py @@ -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)