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. Provides abstraction for metadata reading.writing from a variety of ebook formats.
""" """
import os, sys, re import os, sys, re
from collections import namedtuple
from urlparse import urlparse 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 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: try:
_author_pat = re.compile(tweaks['authors_split_regex']) _author_pat = re.compile(tweaks['authors_split_regex'])
except: except:

View File

@ -5,9 +5,8 @@
from __future__ import (unicode_literals, division, absolute_import, from __future__ import (unicode_literals, division, absolute_import,
print_function) print_function)
from calibre.ebooks.metadata import parse_opf_version
from calibre.ebooks.metadata.opf2 import OPF, pretty_print 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 from calibre.ebooks.metadata import MetaInformation
class DummyFile(object): class DummyFile(object):

View File

@ -4,6 +4,7 @@
from __future__ import (unicode_literals, division, absolute_import, from __future__ import (unicode_literals, division, absolute_import,
print_function) print_function)
from collections import namedtuple
from future_builtins import map from future_builtins import map
from lxml import etree 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) 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): def parse_opf(stream_or_path):
stream = stream_or_path stream = stream_or_path
if not hasattr(stream, 'read'): 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 ( from calibre.ebooks.conversion.plugins.epub_input import (
ADOBE_OBFUSCATION, IDPF_OBFUSCATION, decrypt_font_data) ADOBE_OBFUSCATION, IDPF_OBFUSCATION, decrypt_font_data)
from calibre.ebooks.conversion.preprocess import HTMLPreProcessor, CSSPreProcessor as cssp 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 import MobiError
from calibre.ebooks.mobi.reader.headers import MetadataHeader from calibre.ebooks.mobi.reader.headers import MetadataHeader
from calibre.ebooks.mobi.tweak import set_cover from calibre.ebooks.mobi.tweak import set_cover