mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix #5379 (ebook-convert rename a png image cover to jpg)
This commit is contained in:
parent
e72ce2c29f
commit
8ab61a3a0a
@ -676,7 +676,10 @@ OptionRecommendation(name='timestamp',
|
|||||||
if mi.cover:
|
if mi.cover:
|
||||||
if mi.cover.startswith('http:') or mi.cover.startswith('https:'):
|
if mi.cover.startswith('http:') or mi.cover.startswith('https:'):
|
||||||
mi.cover = self.download_cover(mi.cover)
|
mi.cover = self.download_cover(mi.cover)
|
||||||
mi.cover_data = ('', open(mi.cover, 'rb').read())
|
ext = mi.cover.rpartition('.')[-1].lower().strip()
|
||||||
|
if ext not in ('png', 'jpg', 'jpeg'):
|
||||||
|
ext = 'jpg'
|
||||||
|
mi.cover_data = (ext, open(mi.cover, 'rb').read())
|
||||||
mi.cover = None
|
mi.cover = None
|
||||||
self.user_metadata = mi
|
self.user_metadata = mi
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ __docformat__ = 'restructuredtext en'
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
from calibre.utils.date import isoformat, now
|
from calibre.utils.date import isoformat, now
|
||||||
|
from calibre import guess_type
|
||||||
|
|
||||||
def meta_info_to_oeb_metadata(mi, m, log):
|
def meta_info_to_oeb_metadata(mi, m, log):
|
||||||
from calibre.ebooks.oeb.base import OPF
|
from calibre.ebooks.oeb.base import OPF
|
||||||
@ -92,15 +93,16 @@ class MergeMetadata(object):
|
|||||||
scheme='uuid')
|
scheme='uuid')
|
||||||
self.oeb.uid = self.oeb.metadata.identifier[-1]
|
self.oeb.uid = self.oeb.metadata.identifier[-1]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def set_cover(self, mi, prefer_metadata_cover):
|
def set_cover(self, mi, prefer_metadata_cover):
|
||||||
cdata = ''
|
cdata, ext = '', 'jpg'
|
||||||
if mi.cover and os.access(mi.cover, os.R_OK):
|
if mi.cover and os.access(mi.cover, os.R_OK):
|
||||||
cdata = open(mi.cover, 'rb').read()
|
cdata = open(mi.cover, 'rb').read()
|
||||||
|
ext = mi.cover.rpartition('.')[-1].lower().strip()
|
||||||
elif mi.cover_data and mi.cover_data[-1]:
|
elif mi.cover_data and mi.cover_data[-1]:
|
||||||
cdata = mi.cover_data[1]
|
cdata = mi.cover_data[1]
|
||||||
|
ext = mi.cover_data[0]
|
||||||
|
if ext not in ('png', 'jpg', 'jpeg'):
|
||||||
|
ext = 'jpg'
|
||||||
id = old_cover = None
|
id = old_cover = None
|
||||||
if 'cover' in self.oeb.guide:
|
if 'cover' in self.oeb.guide:
|
||||||
old_cover = self.oeb.guide['cover']
|
old_cover = self.oeb.guide['cover']
|
||||||
@ -120,8 +122,8 @@ class MergeMetadata(object):
|
|||||||
self.oeb.manifest.add(id, old_cover.href, 'image/jpeg')
|
self.oeb.manifest.add(id, old_cover.href, 'image/jpeg')
|
||||||
return id
|
return id
|
||||||
if cdata:
|
if cdata:
|
||||||
id, href = self.oeb.manifest.generate('cover', 'cover.jpg')
|
id, href = self.oeb.manifest.generate('cover', 'cover.'+ext)
|
||||||
self.oeb.manifest.add(id, href, 'image/jpeg', data=cdata)
|
self.oeb.manifest.add(id, href, guess_type('cover.'+ext)[0], data=cdata)
|
||||||
self.oeb.guide.add('cover', 'Cover', href)
|
self.oeb.guide.add('cover', 'Cover', href)
|
||||||
return id
|
return id
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user