Comment 1 for bug 1846828

Revision history for this message
Eli Schwartz (eschwartz) wrote : Re: [Bug 1846828] [NEW] e-book reader does not read .odt files

What error message do you get? I just tried this and I did *not* get an
error message saying it was not supported -- I got an error message
saying that it was broken due to having a bug.

calibre, version 4.0.0
ERROR: Loading book failed: Failed to open the book at
/path/to/file.odt. Click "Show details" for more info.

Traceback (most recent call last):
  File
"/home/eschwartz/git/calibre/src/calibre/utils/ipc/simple_worker.py",
line 290, in main
    res = {'result':func(*args, **kwargs)}
  File "/home/eschwartz/git/calibre/src/calibre/srv/render_book.py",
line 656, in render
    container = Container(pathtoebook, output_dir, book_hash=book_hash,
save_bookmark_data=extract_annotations, book_metadata=mi)
  File "/home/eschwartz/git/calibre/src/calibre/srv/render_book.py",
line 206, in __init__
    book_fmt, opfpath, input_fmt = extract_book(path_to_ebook, tdir,
log=log)
  File
"/home/eschwartz/git/calibre/src/calibre/ebooks/oeb/iterator/book.py",
line 64, in extract_book
    plumber.opts, plumber.input_fmt, log, {}, tdir)
  File
"/home/eschwartz/git/calibre/src/calibre/customize/conversion.py", line
246, in __call__
    log, accelerators)
  File
"/home/eschwartz/git/calibre/src/calibre/ebooks/conversion/plugins/odt_input.py",
line 25, in convert
    return Extract()(stream, '.', log)
  File "/home/eschwartz/git/calibre/src/calibre/ebooks/odt/input.py",
line 276, in __call__
    mi = get_metadata(stream, 'odt')
  File "/home/eschwartz/git/calibre/src/calibre/ebooks/metadata/odt.py",
line 91, in get_metadata
    kw = find('keyword') or find('keywords')
  File "/home/eschwartz/git/calibre/src/calibre/ebooks/metadata/odt.py",
line 73, in find
    ns, tag = fields[field]
KeyError: 'keywords'