steinarb / opds-reader

A calibre plugin containing an OPDS client that can import books into calibre
GNU General Public License v3.0
49 stars 25 forks source link

EPUB3 not supported #5

Open legowerewolf opened 5 years ago

legowerewolf commented 5 years ago

Log:

Starting job: https://standardebooks.org/ebooks/abraham-merritt/the-moon-pool/dist/abraham-merritt_the-moon-pool.epub3 
Job: "https://standardebooks.org/ebooks/abraham-merritt/the-moon-pool/dist/abraham-merritt_the-moon-pool.epub3" failed with error: 
Traceback (most recent call last):
  File "site-packages\calibre\gui2\threaded_jobs.py", line 83, in start_work
  File "site-packages\calibre\gui2\ebook_download.py", line 87, in __call__
  File "site-packages\calibre\gui2\ebook_download.py", line 109, in _add
Exception: Not a support e-book format.

Called with args: (<calibre.gui2.ui.Main object at 0x00000188486F9678>, None, u'https://standardebooks.org/ebooks/abraham-merritt/the-moon-pool/dist/abraham-merritt_the-moon-pool.epub3', u'', u'', True, [], None) {u'abort': <threading._Event object at 0x000001884D1F49C8>, u'log': <calibre.utils.logging.GUILog object at 0x000001884D1F4C88>, u'notifications': <Queue.Queue instance at 0x000001884D1F4848>} 

Attempting to grab from the Standard Ebooks OPDS feed

legowerewolf commented 5 years ago

Here's the relevant OPDS book entry, which includes a regular EPUB file:

<entry>
<id>
https://standardebooks.org/ebooks/abraham-merritt/the-moon-pool
</id>
<title>The Moon Pool</title>
<author>
<name>Abraham Merritt</name>
<uri>https://en.wikipedia.org/wiki/A._Merritt</uri>
<schema:alternateName>Abraham Grace Merritt</schema:alternateName>
<schema:sameAs>http://id.loc.gov/authorities/names/n50036727</schema:sameAs>
</author>
<published>2016-09-30T22:24:23Z</published>
<updated>2016-09-30T22:24:23Z</updated>
<dc:language>en-GB</dc:language>
<dc:publisher>Standard Ebooks</dc:publisher>
<dc:source>https://www.gutenberg.org/ebooks/765</dc:source>
<dc:source>https://catalog.hathitrust.org/Record/007667111</dc:source>
<rights>
Public domain in the United States; original content released to the public domain via the Creative Commons CC0 1.0 Universal Public Domain Dedication
</rights>
<summary type="text">
A group of adventurers search for their friends, who were lost while exploring the otherworldly secrets of a monument discovered on a chain of island ruins.
</summary>
<content type="text/html">...</content>
<category scheme="http://purl.org/dc/terms/LCSH" term="Science fiction"/>
<category scheme="http://purl.org/dc/terms/LCSH" term="Oceania -- Fiction"/>
<category scheme="http://purl.org/dc/terms/LCSH" term="Geographical myths -- Fiction"/>
<category scheme="http://purl.org/dc/terms/LCSH" term="Botanists -- Fiction"/>
<link href="/ebooks/abraham-merritt/the-moon-pool/dist/cover.jpg" rel="http://opds-spec.org/image" type="image/jpeg"/>
<link href="/ebooks/abraham-merritt/the-moon-pool/dist/cover-thumbnail.jpg" rel="http://opds-spec.org/image/thumbnail" type="image/jpeg"/>
<link href="/ebooks/abraham-merritt/the-moon-pool/src/epub/images/cover.svg" rel="http://opds-spec.org/image" type="image/svg+xml"/>
<link href="/ebooks/abraham-merritt/the-moon-pool/dist/abraham-merritt_the-moon-pool.epub" rel="http://opds-spec.org/acquisition/open-access" type="application/epub+zip"/>
<link href="/ebooks/abraham-merritt/the-moon-pool/dist/abraham-merritt_the-moon-pool.epub3" rel="http://opds-spec.org/acquisition/open-access" type="application/epub+zip"/>
<link href="/ebooks/abraham-merritt/the-moon-pool/dist/abraham-merritt_the-moon-pool.kepub.epub" rel="http://opds-spec.org/acquisition/open-access" type="application/kepub+zip"/>
<link href="/ebooks/abraham-merritt/the-moon-pool/dist/abraham-merritt_the-moon-pool.azw3" rel="http://opds-spec.org/acquisition/open-access" type="application/x-mobipocket-ebook"/>
</entry>
steinarb commented 5 years ago

@legowerewolf What would be the appropriate fix for this issue?

  1. Make calibre load epub3 files?
  2. Pick the epub version if it is available?
legowerewolf commented 5 years ago

I'd say have it pick...

  1. The default conversion output format
  2. The first listed format supported by Calibre.

I think the problem here is that the plug-in is just checking the MIME type and not the file extension as well.

stephanromano commented 4 years ago

@steinarb Any plans to address this issue? I'd really love to use this plugin for Calibre, it's exactly what I was looking for - I just want to sync external OPDS libraries to my own so that I don't have to count on external content. However, any library that offers .epub3 fails to sync, even though Calibre supports epub3.

Ideally, it'd be great to be able to select which version you'd like to download if there are multiple versions. But to be honest, I'd accept any workaround, including just downloading the regular epub version.