diff --git a/src/calibre/ebooks/metadata/book/base.py b/src/calibre/ebooks/metadata/book/base.py index 7f868a298a..41b913455a 100644 --- a/src/calibre/ebooks/metadata/book/base.py +++ b/src/calibre/ebooks/metadata/book/base.py @@ -92,7 +92,9 @@ class Metadata(object): def is_null(self, field): null_val = NULL_VALUES.get(field, None) val = getattr(self, field, None) - return val is None or val == null_val + if val is False or val in (0, 0.0): + return True + return not val or val == null_val def __getattribute__(self, field): _data = object.__getattribute__(self, '_data') diff --git a/src/calibre/library/database2.py b/src/calibre/library/database2.py index 52deee1f93..e46f9b818d 100644 --- a/src/calibre/library/database2.py +++ b/src/calibre/library/database2.py @@ -2360,7 +2360,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): @param tags: list of strings @param append: If True existing tags are not removed ''' - if tags is None: + if not tags: tags = [] if not append: self.conn.execute('DELETE FROM books_tags_link WHERE book=?', (id,)) @@ -2512,7 +2512,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): self.notify('metadata', [id]) def set_rating(self, id, rating, notify=True, commit=True): - if rating is None: + if not rating: rating = 0 rating = int(rating) self.conn.execute('DELETE FROM books_ratings_link WHERE book=?',(id,)) @@ -2540,7 +2540,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): self.notify('metadata', [id]) def set_author_sort(self, id, sort, notify=True, commit=True): - if sort is None: + if not sort: sort = '' self.conn.execute('UPDATE books SET author_sort=? WHERE id=?', (sort, id)) self.dirtied([id], commit=False) @@ -2613,7 +2613,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): def set_identifiers(self, id_, identifiers, notify=True, commit=True): cleaned = {} - if identifiers is None: + if not identifiers: identifiers = {} for typ, val in identifiers.iteritems(): typ, val = self._clean_identifier(typ, val)