Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/epubview/epub.py
diff options
context:
space:
mode:
Diffstat (limited to 'epubview/epub.py')
-rw-r--r--epubview/epub.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/epubview/epub.py b/epubview/epub.py
index 81de9d7..f49b0d7 100644
--- a/epubview/epub.py
+++ b/epubview/epub.py
@@ -29,6 +29,7 @@ class _Epub(object):
self._filepath = filepath
self._zobject = None
self._obffile = None
+ self._titlepage = None
self._obfpath = None
self._ncxpath = None
self._ncxfile = None
@@ -40,9 +41,10 @@ class _Epub(object):
self._get_obf()
self._get_ncx()
+ self._get_titlepage()
self._ncxfile = self._zobject.open(self._ncxpath)
- self._navmap = navmap.NavMap(self._ncxfile, self._basepath)
+ self._navmap = navmap.NavMap(self._ncxfile, self._basepath, self._titlepage)
self._obffile = self._zobject.open(self._obfpath)
self._info = epubinfo.EpubInfo(self._obffile)
@@ -94,7 +96,18 @@ class _Epub(object):
obffile.close()
+ def _get_titlepage(self):
+ obffile = self._zobject.open(self._obfpath)
+ tree = etree.parse(obffile)
+ root = tree.getroot()
+
+ for element in root.iterfind('.//{http://www.idpf.org/2007/opf}item'):
+ if element.get('id') == 'titlepage':
+ self._titlepage = self._basepath + element.get('href')
+
+ obffile.close()
+
def _verify(self):
'''
Method to crudely check to verify that what we