diff options
Diffstat (limited to 'sphinx/builders/epub.py')
-rw-r--r-- | sphinx/builders/epub.py | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/sphinx/builders/epub.py b/sphinx/builders/epub.py index a73679c0..848dfaa4 100644 --- a/sphinx/builders/epub.py +++ b/sphinx/builders/epub.py @@ -12,7 +12,6 @@ import os import re -import sys import time import codecs import zipfile @@ -219,7 +218,7 @@ class EpubBuilder(StandaloneHTMLBuilder): """Collect section titles, their depth in the toc and the refuri.""" # XXX: is there a better way than checking the attribute # toctree-l[1-8] on the parent node? - if isinstance(doctree, nodes.reference) and doctree.has_key('refuri'): + if isinstance(doctree, nodes.reference) and 'refuri' in doctree: refuri = doctree['refuri'] if refuri.startswith('http://') or refuri.startswith('https://') \ or refuri.startswith('irc:') or refuri.startswith('mailto:'): @@ -405,9 +404,9 @@ class EpubBuilder(StandaloneHTMLBuilder): The method tries to read and write the files with the PIL, converting the format and resizing the image if necessary/possible. """ - ensuredir(path.join(self.outdir, '_images')) - for src in self.status_iterator(self.images, 'copying images... ', - brown, len(self.images)): + ensuredir(path.join(self.outdir, self.imagedir)) + for src in self.app.status_iterator(self.images, 'copying images... ', + brown, len(self.images)): dest = self.images[src] try: img = Image.open(path.join(self.srcdir, src)) @@ -417,8 +416,8 @@ class EpubBuilder(StandaloneHTMLBuilder): (path.join(self.srcdir, src), )) try: copyfile(path.join(self.srcdir, src), - path.join(self.outdir, '_images', dest)) - except (IOError, OSError), err: + path.join(self.outdir, self.imagedir, dest)) + except (IOError, OSError) as err: self.warn('cannot copy image file %r: %s' % (path.join(self.srcdir, src), err)) continue @@ -433,8 +432,8 @@ class EpubBuilder(StandaloneHTMLBuilder): nh = (height * nw) / width img = img.resize((nw, nh), Image.BICUBIC) try: - img.save(path.join(self.outdir, '_images', dest)) - except (IOError, OSError), err: + img.save(path.join(self.outdir, self.imagedir, dest)) + except (IOError, OSError) as err: self.warn('cannot write image file %r: %s' % (path.join(self.srcdir, src), err)) @@ -490,7 +489,7 @@ class EpubBuilder(StandaloneHTMLBuilder): fn = path.join(outdir, outname) try: os.mkdir(path.dirname(fn)) - except OSError, err: + except OSError as err: if err.errno != EEXIST: raise f = codecs.open(path.join(outdir, outname), 'w', 'utf-8') @@ -750,12 +749,5 @@ class EpubBuilder(StandaloneHTMLBuilder): zipfile.ZIP_STORED) for file in projectfiles: fp = path.join(outdir, file) - if sys.version_info < (2, 6): - # When zipile.ZipFile.write call with unicode filename, ZipFile - # encode filename to 'utf-8' (only after Python-2.6). - if isinstance(file, unicode): - # OEBPS Container Format (OCF) 2.0.1 specification require - # "File Names MUST be UTF-8 encoded". - file = file.encode('utf-8') epub.write(fp, file, zipfile.ZIP_DEFLATED) epub.close() |