Commit 6b7bff1e authored by Jérome Perrin's avatar Jérome Perrin

Do some simple checks to make sure that pdftk is in path


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@3498 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 3e0ae1e0
......@@ -103,7 +103,8 @@ class PDFTk :
""" returns the output of pdftk dump_data_fields as text,
pdf file is either the file object or its content"""
return self._getOutput(
PDFTK_EXECUTABLE+" - dump_data_fields", pdfFile)
PDFTK_EXECUTABLE+" - dump_data_fields", pdfFile,
assert_not_empty=0)
def _parseDumpDataFields(self, data_fields_dump) :
""" parses the output of pdftk X.pdf dump_data_fields and
......@@ -121,17 +122,24 @@ class PDFTk :
fields+=[field]
return fields
def _getOutput(self, command, input=None) :
def _getOutput(self, command, input=None, assert_not_empty=1) :
""" returns the output of command with sending input through command's
input stream (if input parameter is given) """
stdout, stdin = popen2.popen2(command)
if input:
if hasattr(input, "read") :
input = input.read()
try :
stdin.write(input)
except IOError, e:
raise IOError, str(e) + " ( make sure "\
"%s exists and is in your $PATH )"%PDFTK_EXECUTABLE
stdin.close()
ret = stdout.read()
stdout.close()
if assert_not_empty and len(ret) == 0 :
raise IOError, "Got no output from external program, make sure"\
" %s exists and is in your $PATH"%PDFTK_EXECUTABLE
return ret
def _escapeString(self, value) :
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment