diff --git a/src/calibre/ebooks/metadata/epub.py b/src/calibre/ebooks/metadata/epub.py index bd5f06fa95..29f8978cbc 100644 --- a/src/calibre/ebooks/metadata/epub.py +++ b/src/calibre/ebooks/metadata/epub.py @@ -5,7 +5,7 @@ __copyright__ = '2008, Kovid Goyal ' '''Read meta information from epub files''' -import os +import os, re from cStringIO import StringIO from contextlib import closing @@ -29,15 +29,15 @@ class Container(dict): def __init__(self, stream=None): if not stream: return soup = BeautifulStoneSoup(stream.read()) - container = soup.find('container') + container = soup.find(name=re.compile(r'container$', re.I)) if not container: - raise OCFException(" element missing") + raise OCFException(" element missing") if container.get('version', None) != '1.0': raise EPubException("unsupported version of OCF") - rootfiles = container.find('rootfiles') + rootfiles = container.find(re.compile(r'rootfiles$', re.I)) if not rootfiles: raise EPubException(" element missing") - for rootfile in rootfiles.findAll('rootfile'): + for rootfile in rootfiles.findAll(re.compile(r'rootfile$', re.I)): try: self[rootfile['media-type']] = rootfile['full-path'] except KeyError: