e-book reader does not read .odt files

Bug #1846828 reported by Kalev Lääne on 2019-10-04
This bug affects 3 people
Affects Status Importance Assigned to Milestone

Bug Description

Calibre 3 e-book reader did read odt files. Calibre 4 reader does not.

I have to save odt files as rtf files (and then convert them to epub format).

Only then does e-book reader open them. Also it is harder to use.

Like before Calibre does not convert files into odt format. That format being most used (at least by me) makes it rather inconviniate.

At interface:
'Read e-book' button (estonian: Loe) can not open odt format books (even give option to open them with Libre Office-my text redactor program).

I hope the result: 'Loading book failed' gets fixed. I'm using (right-click on format at book info) option 'open with program' to get access to them with my own text redactor (Libre Office).

I use estonian language interface.

I have more than 4600 stories in odt format (from 6050 stories). This is the only clitch I faced after the upgrade to Calibre 4.

In other libraries (I have 5) the books are more in epub-lit-mobi-pdf format. There are more than 25000 books alltogether. In these libraries the problems have not surfaced as I have not tried books in them yet.

E-book reader gives less information about the book than before v.4

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):
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,
line 64, in extract_book
    plumber.opts, plumber.input_fmt, log, {}, tdir)
"/home/eschwartz/git/calibre/src/calibre/customize/conversion.py", line
246, in __call__
    log, accelerators)
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'

Fixed in branch master. The fix will be in the next release. calibre is usually released every alternate Friday.

 status fixreleased

Changed in calibre:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers