From 619773526e6ef05e6fb7a88d261904af2990b0ad Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 4 Dec 2007 22:08:56 +0000 Subject: [PATCH] More intelligent error message on trying to convert DRMed lit files. --- src/libprs500/ebooks/lrf/lit/convert_from.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/libprs500/ebooks/lrf/lit/convert_from.py b/src/libprs500/ebooks/lrf/lit/convert_from.py index b6b3da8974..b05767a80c 100644 --- a/src/libprs500/ebooks/lrf/lit/convert_from.py +++ b/src/libprs500/ebooks/lrf/lit/convert_from.py @@ -39,13 +39,16 @@ def generate_html(pathtolit, logger): sep = r'\\' if iswindows else os.path.sep cmd = ' '.join([CLIT, '"'+pathtolit+'"', '"%s"'%(tdir+sep,)]) logger.debug(cmd) - p = Popen(cmd, shell=True, stderr=PIPE, stdout=PIPE) + p = Popen(cmd, shell=True, stderr=PIPE, stdout=PIPE) + stdout = p.stdout.read() + err = p.stderr.read() logger.info(p.stdout.read()) ret = p.wait() if ret != 0: if os.path.exists(tdir) and os.path.isdir(tdir): - shutil.rmtree(tdir) - err = p.stderr.read() + shutil.rmtree(tdir) + if 'keys.txt' in unicode(err)+unicode(stdout): + raise ConversionError('This lit file is protected by DRM. You must first use the ConvertLIT program to remove the DRM.') raise ConversionError, err return tdir