diff --git a/src/calibre/ebooks/mobi/reader.py b/src/calibre/ebooks/mobi/reader.py index c22f3271f5..6d26c81789 100644 --- a/src/calibre/ebooks/mobi/reader.py +++ b/src/calibre/ebooks/mobi/reader.py @@ -505,7 +505,7 @@ def get_metadata(stream): except: import traceback traceback.print_exc() - return mi + return mi def option_parser(): diff --git a/src/calibre/library/cli.py b/src/calibre/library/cli.py index e170842293..164f865dca 100644 --- a/src/calibre/library/cli.py +++ b/src/calibre/library/cli.py @@ -174,6 +174,9 @@ def do_list(db, fields, sort_by, ascending, search_text, line_width, separator, return template.generate(data=data).render('xml') elif output_format == 'stanza': data = [i for i in data if i.has_key('fmt_epub')] + for x in data: + if isinstance(x['fmt_epub'], unicode): + x['fmt_epub'] = x['fmt_epub'].encode('utf-8') template = MarkupTemplate(STANZA_TEMPLATE) return template.generate(id="urn:calibre:main", data=data, subtitle=subtitle, sep=os.sep, quote=quote, updated=db.last_modified()).render('xml')