Move parse_opf_version() into utils

This commit is contained in:
Kovid Goyal 2016-06-16 12:57:13 +05:30
parent 5cf7fb6b2c
commit 72115a92b1
4 changed files with 15 additions and 16 deletions

View File

@ -7,7 +7,6 @@ __docformat__ = 'restructuredtext en'
Provides abstraction for metadata reading.writing from a variety of ebook formats.
"""
import os, sys, re
from collections import namedtuple
from urlparse import urlparse
@ -15,18 +14,6 @@ from calibre import relpath, guess_type, remove_bracketed_text, prints
from calibre.utils.config_base import tweaks
OPFVersion = namedtuple('OPFVersion', 'major minor patch')
def parse_opf_version(raw):
try:
v = list(map(int, raw.split('.')))
except Exception:
v = [2, 0, 0]
while len(v) < 3:
v.append(0)
v = v[:3]
return OPFVersion(*v)
try:
_author_pat = re.compile(tweaks['authors_split_regex'])
except:

View File

@ -5,9 +5,8 @@
from __future__ import (unicode_literals, division, absolute_import,
print_function)
from calibre.ebooks.metadata import parse_opf_version
from calibre.ebooks.metadata.opf2 import OPF, pretty_print
from calibre.ebooks.metadata.utils import parse_opf, normalize_languages, create_manifest_item
from calibre.ebooks.metadata.utils import parse_opf, normalize_languages, create_manifest_item, parse_opf_version
from calibre.ebooks.metadata import MetaInformation
class DummyFile(object):

View File

@ -4,6 +4,7 @@
from __future__ import (unicode_literals, division, absolute_import,
print_function)
from collections import namedtuple
from future_builtins import map
from lxml import etree
@ -16,6 +17,18 @@ from calibre.utils.localization import lang_as_iso639_1
PARSER = etree.XMLParser(recover=True, no_network=True)
OPFVersion = namedtuple('OPFVersion', 'major minor patch')
def parse_opf_version(raw):
try:
v = list(map(int, raw.split('.')))
except Exception:
v = [2, 0, 0]
while len(v) < 3:
v.append(0)
v = v[:3]
return OPFVersion(*v)
def parse_opf(stream_or_path):
stream = stream_or_path
if not hasattr(stream, 'read'):

View File

@ -24,7 +24,7 @@ from calibre.ebooks.chardet import xml_to_unicode
from calibre.ebooks.conversion.plugins.epub_input import (
ADOBE_OBFUSCATION, IDPF_OBFUSCATION, decrypt_font_data)
from calibre.ebooks.conversion.preprocess import HTMLPreProcessor, CSSPreProcessor as cssp
from calibre.ebooks.metadata import parse_opf_version
from calibre.ebooks.metadata.utils import parse_opf_version
from calibre.ebooks.mobi import MobiError
from calibre.ebooks.mobi.reader.headers import MetadataHeader
from calibre.ebooks.mobi.tweak import set_cover