Use libreoffice to convert html to pdf when abiword crashes.
authorgibus
Mon, 28 Jan 2013 12:19:11 +0100
changeset 494 6b3d72136e85
parent 493 32c402ed2f14
child 495 f86b611f1876
Use libreoffice to convert html to pdf when abiword crashes.
src/cm/converters/oo_converters.py
src/cm/views/export.py
--- a/src/cm/converters/oo_converters.py	Mon Jan 28 10:44:48 2013 +0100
+++ b/src/cm/converters/oo_converters.py	Mon Jan 28 12:19:11 2013 +0100
@@ -75,7 +75,7 @@
 processing = 0
 
 # timeout : kill oo
-PROCESSING_TIMEOUT = 20.0
+PROCESSING_TIMEOUT = 120.0
 
 def oo_process_controller(code):
     """
@@ -84,7 +84,7 @@
     global processing
     logging.info('oo_process_controller')
     if processing == code:
-        logging.error('--> oo_process_controller : killing !')
+        logging.error('--> oo_process_controller timeout %s: killing !' %PROCESSING_TIMEOUT)
         kill_oo()        
 
 def kill_oo():
--- a/src/cm/views/export.py	Mon Jan 28 10:44:48 2013 +0100
+++ b/src/cm/views/export.py	Mon Jan 28 12:19:11 2013 +0100
@@ -78,7 +78,13 @@
             if USE_ABI:
               from cm.converters.abi_converters import AbiFileConverter
               converter = AbiFileConverter()
-              export_content = converter.convert_from_html(fix_content, format)
+              try:
+                export_content = converter.convert_from_html(fix_content, format)
+              except:
+                from cm.converters.oo_converters import combine_css_body                
+                fix_content = combine_css_body(content, '')
+                from cm.converters.oo_converters import convert_html as oo_convert                
+                export_content = oo_convert(fix_content, format)
             else:
               from cm.converters.oo_converters import convert_html as oo_convert                
               export_content = oo_convert(fix_content, format)