diff --git a/src/libprs500/__init__.py b/src/libprs500/__init__.py index 60da52b31f..f1e6394235 100644 --- a/src/libprs500/__init__.py +++ b/src/libprs500/__init__.py @@ -13,7 +13,7 @@ ## with this program; if not, write to the Free Software Foundation, Inc., ## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ''' E-book management software''' -__version__ = "0.3.64" +__version__ = "0.3.65" __docformat__ = "epytext" __author__ = "Kovid Goyal " __appname__ = 'libprs500' @@ -22,6 +22,12 @@ import sys, os iswindows = 'win32' in sys.platform.lower() isosx = 'darwin' in sys.platform.lower() +if iswindows: + try: + import WmfPlugin + except: + pass + def load_library(name, cdll): if iswindows: return cdll.LoadLibrary(name) diff --git a/src/libprs500/ebooks/lrf/html/convert_from.py b/src/libprs500/ebooks/lrf/html/convert_from.py index a2afa20444..b105fb45b9 100644 --- a/src/libprs500/ebooks/lrf/html/convert_from.py +++ b/src/libprs500/ebooks/lrf/html/convert_from.py @@ -770,7 +770,12 @@ class HTMLConverter(object): if self.scaled_images.has_key(path): path = self.scaled_images[path].name - im = PILImage.open(path) + try: + im = PILImage.open(path) + except IOError, err: + print >>sys.stderr, 'Unable to process:', path, err + return + if width == None or height == None: width, height = im.size diff --git a/src/libprs500/ebooks/lrf/rtf/convert_from.py b/src/libprs500/ebooks/lrf/rtf/convert_from.py index 9ad11864a1..414210d51f 100644 --- a/src/libprs500/ebooks/lrf/rtf/convert_from.py +++ b/src/libprs500/ebooks/lrf/rtf/convert_from.py @@ -89,22 +89,25 @@ def main(): sys.argv.append('-o') sys.argv.append(os.path.splitext(os.path.basename(rtf))[0]+ext) - if not options.title or options.title == 'Unknown': + if (not options.title or options.title == 'Unknown') and mi.title: sys.argv.append('-t') sys.argv.append('"'+mi.title+'"') - if not options.author or options.author == 'Unknown': + if (not options.author or options.author == 'Unknown') and mi.author: sys.argv.append('-a') sys.argv.append('"'+mi.author+'"') - if not options.category or options.category == 'Unknown' and mi.category: + if (not options.category or options.category == 'Unknown') and mi.category: sys.argv.append('--category') sys.argv.append('"'+mi.category+'"') - if not options.freetext or options.freetext == 'Unknown' and mi.comments: + if (not options.freetext or options.freetext == 'Unknown') and mi.comments: sys.argv.append('--comment') sys.argv.append('"'+mi.comments+'"') options, args, parser = html_parse_options(parser=parser) process_file(html, options) finally: - shutil.rmtree(tdir) + #try: + shutil.rmtree(tdir) + #except: # Windows can raise an error if some file is still being used + # pass except ConversionError, err: print >>sys.stderr, err sys.exit(1) diff --git a/windows_installer.py b/windows_installer.py index 6f6607bafb..e9934111ac 100644 --- a/windows_installer.py +++ b/windows_installer.py @@ -297,7 +297,7 @@ setup( 'optimize' : 2, 'dist_dir' : PY2EXE_DIR, 'includes' : ['sip', 'pkg_resources', 'PyQt4.QtSvg'], - 'packages' : ['PIL'], + 'packages' : ['PIL', 'WmfPlugin'], 'excludes' : ["Tkconstants", "Tkinter", "tcl", "_imagingtk", "ImageTk", "FixTk", 'pydoc'],