This commit is contained in:
Fabian Graßl 2010-11-03 11:58:04 +01:00
parent 219feadc1e
commit 6d84c8dc15
2 changed files with 8 additions and 11 deletions

View file

@ -5,7 +5,9 @@
import os, re, shutil
from os.path import dirname, abspath, relpath, exists
from calibre.utils import zipfile
from os.path import dirname, abspath, relpath, exists, basename
from lxml import etree
from templite import Templite
@ -70,7 +72,7 @@ def build_node(current_node, parent=None):
def generate_html_toc(self, oeb_book, ref_url, output_dir):
root = self.generate_toc(oeb_book, ref_url, output_dir)
return etree.tostring(root, pretty_print=True, encoding='utf-8',
xml_declaration=True)
xml_declaration=False)
def convert(self, oeb_book, output_path, input_plugin, opts, log):
@ -100,7 +102,7 @@ def convert(self, oeb_book, output_path, input_plugin, opts, log):
tempdir = PersistentTemporaryDirectory()
output_file = os.path.join(tempdir,
os.path.basename(re.sub(r'\.zip', '', output_path)+'.html'))
basename(re.sub(r'\.zip', '', output_path)+'.html'))
output_dir = re.sub(r'\.html', '', output_file)+'_files'
if not exists(output_dir):
@ -184,7 +186,8 @@ def convert(self, oeb_book, output_path, input_plugin, opts, log):
item.unload_data_from_memory(memory=path)
zfile = ZipFile(output_path, "w")
zfile.add_dir(output_dir)
zfile.add_dir(output_dir, basename(output_dir))
zfile.write(output_file, basename(output_file), zipfile.ZIP_DEFLATED)
if opts.extract_to:
if os.path.exists(opts.extract_to):
@ -197,5 +200,3 @@ def convert(self, oeb_book, output_path, input_plugin, opts, log):
# cleanup temp dir
shutil.rmtree(tempdir)

View file

@ -87,7 +87,7 @@ def PersistentTemporaryDirectory(suffix='', prefix='', dir=None):
'''
if dir is None:
dir = base_dir()
tdir = tempfile.mkdtemp(suffix, __appname__+"_"+ __version__+"_" +prefix, dir)
tdir = os.path.realpath(tempfile.mkdtemp(suffix, __appname__+"_"+ __version__+"_" +prefix, dir))
atexit.register(remove_dir, tdir)
return tdir
@ -134,7 +134,3 @@ def __enter__(self):
def __exit__(self, *args):
cleanup(self._name)