# HG changeset patch # User Simon Descarpentries # Date 1383152974 -3600 # Node ID 6005880ca8c7ffd2f2c77cef14badb99bb4c23ef # Parent 69503659fe8f4d9e28b237637faf4dec3228a111# Parent 5d79dc4e50a36f5cd9373172e85d5315a847e0eb merge diff -r 69503659fe8f -r 6005880ca8c7 src/cm/converters/__init__.py --- a/src/cm/converters/__init__.py Wed Oct 30 18:08:42 2013 +0100 +++ b/src/cm/converters/__init__.py Wed Oct 30 18:09:34 2013 +0100 @@ -30,9 +30,18 @@ if USE_ABI: from abi_converters import AbiFileConverter converter = AbiFileConverter() - html_input, attachs = converter.convert_to_html(input) - html_input = re.sub(r' awml:style="[^"]*"', '', html_input) - converted_input = pandoc_convert(html_input, 'html', format) + try: + html_input, attachs = converter.convert_to_html(input) + html_input = re.sub(r' awml:style="[^"]*"', '', html_input) + converted_input = pandoc_convert(html_input, 'html', format) + except: + # If Abiword fails for any reason, try libreoffice + html_input, xhtml_input, attachs = convert_oo_to_html_and_xhtml(input) + if format == 'html': + _not_used_css, converted_input = extract_css_body(xhtml_input) + #converted_input = xhtml_input + + converted_input = pandoc_convert(html_input, 'html', format) else: html_input, xhtml_input, attachs = convert_oo_to_html_and_xhtml(input) if format == 'html': diff -r 69503659fe8f -r 6005880ca8c7 src/cm/converters/abi_converters.py --- a/src/cm/converters/abi_converters.py Wed Oct 30 18:08:42 2013 +0100 +++ b/src/cm/converters/abi_converters.py Wed Oct 30 18:09:34 2013 +0100 @@ -102,7 +102,11 @@ type or os.path.splitext(out_file)[1][1:], 'txt') # do the conversion - self._perform_conversion(in_file, out_file, type) + try: + self._perform_conversion(in_file, out_file, type) + except: + raise + # return a byte string if no out_file is specified if return_bytes: @@ -126,9 +130,14 @@ self.child.sendline(cmd) # Check for errors - i = self.child.expect(['OK', pexpect.TIMEOUT]) - if i != 0: + i = 1 + + try: + i = self.child.expect(['OK', pexpect.TIMEOUT]) + if i != 0: raise AbiCommandError('Error performing AbiCommand: %s' %cmd) + except: + raise def convert_to_html(self, input): """ @@ -174,7 +183,10 @@ os.chmod(outdir_name, 0777) # read / write # Do the job - self.convert_file(infile_name, outfile_name, 'html') + try: + self.convert_file(infile_name, outfile_name, 'html') + except: + raise out_f = open(outfile_name,'r') output = out_f.read() @@ -191,6 +203,9 @@ output = re.sub(r'