diff options
author | Paweł Jastrzębski <pawelj@vulturis.eu> | 2013-10-08 17:30:47 +0200 |
---|---|---|
committer | Paweł Jastrzębski <pawelj@vulturis.eu> | 2013-10-08 17:30:47 +0200 |
commit | 1d0498fdceb7f8e762c5935ebac9621e9d2a62b6 (patch) | |
tree | c0fc891cabd4e10b93ffaeae2e463e2e08d2070a | |
parent | Merge remote-tracking branch 'origin/master' (diff) | |
download | kcc-1d0498fdceb7f8e762c5935ebac9621e9d2a62b6.tar.gz kcc-1d0498fdceb7f8e762c5935ebac9621e9d2a62b6.tar.bz2 kcc-1d0498fdceb7f8e762c5935ebac9621e9d2a62b6.zip |
Fix for fix for access denied errors
-rwxr-xr-x | kcc/comic2ebook.py | 24 | ||||
-rw-r--r-- | kcc/comic2panel.py | 15 |
2 files changed, 11 insertions, 28 deletions
diff --git a/kcc/comic2ebook.py b/kcc/comic2ebook.py index 408b470..deb4be8 100755 --- a/kcc/comic2ebook.py +++ b/kcc/comic2ebook.py @@ -332,7 +332,7 @@ def dirImgProcess(path): pass if not GUI.conversionAlive: pool.terminate() - rmtree(os.path.join(path, '..', '..'), onerror=fixReadOnly) + rmtree(os.path.join(path, '..', '..'), True) raise UserWarning("Conversion interrupted.") GUI.emit(QtCore.SIGNAL("progressBarTick")) pool.join() @@ -340,7 +340,7 @@ def dirImgProcess(path): try: splitpages = splitpages.get() except: - rmtree(os.path.join(path, '..', '..'), onerror=fixReadOnly) + rmtree(os.path.join(path, '..', '..'), True) raise RuntimeError("One of workers crashed. Cause: " + str(sys.exc_info()[1])) splitpages = filter(None, splitpages) splitpages.sort() @@ -349,7 +349,7 @@ def dirImgProcess(path): pagenumbermodifier += 1 pagenumbermodifier += 1 else: - rmtree(os.path.join(path, '..', '..'), onerror=fixReadOnly) + rmtree(os.path.join(path, '..', '..'), True) raise UserWarning("Source directory is empty.") @@ -557,13 +557,13 @@ def getWorkFolder(afile): sanitizeTreeBeforeConversion(fullPath) return workdir except OSError: - rmtree(workdir, onerror=fixReadOnly) + rmtree(workdir, True) raise elif afile.lower().endswith('.pdf'): pdf = pdfjpgextract.PdfJpgExtract(afile) path, njpg = pdf.extract() if njpg == 0: - rmtree(path, onerror=fixReadOnly) + rmtree(path, True) raise UserWarning("Failed to extract images.") else: workdir = tempfile.mkdtemp('', 'KCC-TMP-') @@ -573,11 +573,11 @@ def getWorkFolder(afile): try: path = cbx.extract(workdir) except OSError: - rmtree(workdir, onerror=fixReadOnly) + rmtree(workdir, True) print 'UnRAR/7za not found or file failed to extract!' sys.exit(21) else: - rmtree(workdir, onerror=fixReadOnly) + rmtree(workdir, True) raise TypeError move(path, path + "_temp") move(path + "_temp", os.path.join(path, 'OEBPS', 'Images')) @@ -908,7 +908,7 @@ def main(argv=None, qtGUI=None): filepath.append(getOutputFilename(args[0], options.output, '.epub', '')) make_archive(tome + '_comic', 'zip', tome) move(tome + '_comic.zip', filepath[-1]) - rmtree(tome, onerror=fixReadOnly) + rmtree(tome, True) return filepath @@ -981,14 +981,6 @@ def checkOptions(): options.profileData = image.ProfileData.Profiles[options.profile] -#noinspection PyUnusedLocal -def fixReadOnly(func, path, exc_info): - if not os.access(path, os.W_OK): - os.chmod(path, stat.S_IWUSR) - func(path) - else: - raise - if __name__ == "__main__": freeze_support() Copyright() diff --git a/kcc/comic2panel.py b/kcc/comic2panel.py index c5ae4db..e719f33 100644 --- a/kcc/comic2panel.py +++ b/kcc/comic2panel.py @@ -25,7 +25,6 @@ __docformat__ = 'restructuredtext en' import os import sys -import stat from shutil import rmtree, copytree, move from optparse import OptionParser, OptionGroup from multiprocessing import Pool, Queue, freeze_support @@ -258,15 +257,15 @@ def main(argv=None, qtGUI=None): try: workers.get() except: - rmtree(options.targetDir, onerror=fixReadOnly) + rmtree(options.targetDir, True) raise RuntimeError("One of workers crashed. Cause: " + str(sys.exc_info()[1])) if GUI: GUI.emit(QtCore.SIGNAL("progressBarTick"), 1) if options.inPlace: - rmtree(options.sourceDir, onerror=fixReadOnly) + rmtree(options.sourceDir, True) move(options.targetDir, options.sourceDir) else: - rmtree(options.targetDir, onerror=fixReadOnly) + rmtree(options.targetDir, True) raise UserWarning("Source directory is empty.") else: raise UserWarning("Provided path is not a directory.") @@ -274,14 +273,6 @@ def main(argv=None, qtGUI=None): raise UserWarning("Target height is not set.") -#noinspection PyUnusedLocal -def fixReadOnly(func, path, exc_info): - if not os.access(path, os.W_OK): - os.chmod(path, stat.S_IWUSR) - func(path) - else: - raise - if __name__ == "__main__": freeze_support() Copyright() |