From 5c2ca385b5df1aea502d0ef6d4dc9af7101ebbbe Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 14 Aug 2009 10:04:44 -0600 Subject: [PATCH] calibredb:Don't error out when listing books that have missing formats --- src/calibre/library/cli.py | 3 ++- src/calibre/library/database2.py | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/calibre/library/cli.py b/src/calibre/library/cli.py index 75f72297a4..1ac82b2edb 100644 --- a/src/calibre/library/cli.py +++ b/src/calibre/library/cli.py @@ -126,7 +126,8 @@ def do_list(db, fields, sort_by, ascending, search_text, line_width, separator, fields = ['id'] + fields if output_format == 'text': for f in data: - f['formats'] = u'[%s]'%u','.join(f['formats']) + fmts = [x for x in f['formats'] if x is not None] + f['formats'] = u'[%s]'%u','.join(fmts) widths = list(map(lambda x : 0, fields)) for record in data: for f in record.keys(): diff --git a/src/calibre/library/database2.py b/src/calibre/library/database2.py index 194933bb3a..18765e3e3c 100644 --- a/src/calibre/library/database2.py +++ b/src/calibre/library/database2.py @@ -1525,6 +1525,8 @@ class LibraryDatabase2(LibraryDatabase): if formats: for fmt in formats.split(','): path = self.format_abspath(x['id'], fmt, index_is_id=True) + if path is None: + continue if prefix != self.library_path: path = os.path.relpath(path, self.library_path) path = os.path.join(prefix, path)