From 5a2c70e91e8f47594aae362fedcd448b210d2d68 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 16 Jun 2016 12:59:39 +0530 Subject: [PATCH] Make parsing of OPF major version more robust --- src/calibre/ebooks/metadata/utils.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/calibre/ebooks/metadata/utils.py b/src/calibre/ebooks/metadata/utils.py index d778696ad6..17889cce3b 100644 --- a/src/calibre/ebooks/metadata/utils.py +++ b/src/calibre/ebooks/metadata/utils.py @@ -20,10 +20,15 @@ PARSER = etree.XMLParser(recover=True, no_network=True) OPFVersion = namedtuple('OPFVersion', 'major minor patch') def parse_opf_version(raw): + parts = (raw or '').split('.') + try: + major = int(parts[0]) + except Exception: + return OPFVersion(2, 0, 0) try: v = list(map(int, raw.split('.'))) except Exception: - v = [2, 0, 0] + v = [major, 0, 0] while len(v) < 3: v.append(0) v = v[:3]