1
0
mirror of https://github.com/gryf/ebook-converter.git synced 2026-04-10 23:23:34 +02:00

Sorted out mime initialization.

Every mime related function in main __init__.py has a flag check for the
check if initialization has already done. This is nonsense, since it
should be done implicitly early on the converter is starting.

This commit straight the things out, and initialization is done in cli
module.

Also, function guess_type was removed, since it's just a proxy for
mimetypes.guess_type function.
This commit is contained in:
2020-06-14 15:41:18 +02:00
parent b23a59f223
commit 1465e4267f
22 changed files with 94 additions and 112 deletions

View File

@@ -1,9 +1,9 @@
import mimetypes
import textwrap
import urllib.parse
from lxml import etree
from ebook_converter import guess_type
from ebook_converter.utils.imghdr import identify
from ebook_converter.polyglot.urllib import unquote
@@ -115,7 +115,7 @@ class CoverManager(object):
else self.svg_template
tp = templ % unquote(href)
id, href = m.generate('titlepage', 'titlepage.xhtml')
item = m.add(id, href, guess_type('t.xhtml')[0],
item = m.add(id, href, mimetypes.guess_type('t.xhtml')[0],
data=etree.fromstring(tp))
else:
key = urllib.parse.urldefrag(self.oeb.guide['titlepage'].href)[0]

View File

@@ -1,3 +1,4 @@
import mimetypes
import re
from ebook_converter.ebooks.oeb.base import XPath, urlunquote
from ebook_converter.polyglot.builtins import as_bytes
@@ -45,5 +46,6 @@ class DataURL(object):
self.log('Found image encoded as data URI converting it to normal image')
from ebook_converter import guess_type
item_id, item_href = oeb.manifest.generate('data-url-image', 'data-url-image.' + fmt)
oeb.manifest.add(item_id, item_href, guess_type(item_href)[0], data=data)
oeb.manifest.add(item_id, item_href,
mimetypes.guess_type(item_href)[0], data=data)
return item_href

View File

@@ -3,6 +3,7 @@ CSS flattening transform.
"""
import collections
import math
import mimetypes
import numbers
import operator
import re
@@ -13,7 +14,6 @@ import css_parser
from css_parser import css as cp_css
from ebook_converter import constants as const
from ebook_converter import guess_type
from ebook_converter.ebooks import unit_convert
from ebook_converter.ebooks.oeb import base
from ebook_converter.ebooks.oeb import parse_utils
@@ -125,8 +125,9 @@ class EmbedFontsCSSRules(object):
rules = [base.css_text(x) for x in self.rules]
rules = '\n\n'.join(rules)
sheet = css_parser.parseString(rules, validate=False)
self.href = oeb.manifest.add(iid, href, guess_type(href)[0],
data=sheet).href
self.href = oeb.manifest.add(iid, href,
mimetypes.guess_type(href)[0],
data=sheet).href
return self.href
@@ -244,7 +245,7 @@ class CSSFlattener(object):
fid, href = self.oeb.manifest.generate(id=u'font',
href='fonts/%s.%s'%(ascii_filename(font['full_name']).replace(' ', '-'), ext))
item = self.oeb.manifest.add(fid, href,
guess_type('dummy.'+ext)[0],
mimetypes.guess_type('dummy.'+ext)[0],
data=font_scanner.get_font_data(font))
item.unload_data_from_memory()

View File

@@ -1,3 +1,4 @@
import mimetypes
import sys, os, re
from xml.sax.saxutils import escape
from string import Formatter
@@ -5,7 +6,7 @@ import pkg_resources
import urllib.parse
from ebook_converter import constants as const
from ebook_converter import guess_type, strftime
from ebook_converter import strftime
from ebook_converter.constants_old import iswindows
from ebook_converter.ebooks.oeb import base
from ebook_converter.ebooks.oeb.base import XPath, xml2text, urlnormalize
@@ -124,7 +125,8 @@ class Jacket(Base):
alt_comments=comments, rescale_fonts=True)
id, href = self.oeb.manifest.generate('calibre_jacket', 'jacket.xhtml')
jacket = self.oeb.manifest.add(id, href, guess_type(href)[0], data=root)
jacket = self.oeb.manifest.add(id, href, mimetypes.guess_type(href)[0],
data=root)
self.oeb.spine.insert(0, jacket, True)
self.oeb.inserted_metadata_jacket = jacket
for img, path in referenced_images(root):
@@ -132,7 +134,9 @@ class Jacket(Base):
ext = path.rpartition('.')[-1].lower()
item_id, href = self.oeb.manifest.generate('jacket_image', 'jacket_img.'+ext)
with open(path, 'rb') as f:
item = self.oeb.manifest.add(item_id, href, guess_type(href)[0], data=f.read())
item = self.oeb.manifest.add(
item_id, href, mimetypes.guess_type(href)[0],
data=f.read())
item.unload_data_from_memory()
img.set('src', jacket.relhref(item.href))

View File

@@ -1,9 +1,9 @@
import mimetypes
import os
import re
from ebook_converter.ebooks.oeb import base
from ebook_converter.utils.date import isoformat, now
from ebook_converter import guess_type
def meta_info_to_oeb_metadata(mi, m, log, override_input_metadata=False):
@@ -156,9 +156,8 @@ class MergeMetadata(object):
new_cover_item = None
if cdata:
id, href = self.oeb.manifest.generate('cover', 'cover.'+ext)
new_cover_item = self.oeb.manifest.add(id, href,
guess_type('cover.'+ext)[0],
data=cdata)
new_cover_item = self.oeb.manifest.add(
id, href, mimetypes.guess_type('cover.'+ext)[0], data=cdata)
self.oeb.guide.add('cover', 'Cover', href)
if do_remove_old_cover:
self.remove_old_cover(item, new_cover_item.href)