[Checkins] SVN: zopyx.convert2/trunk/ fixes for pdf-fop

Andreas Jung andreas at andreas-jung.com
Mon Aug 16 08:35:03 EDT 2010


Log message for revision 115701:
  fixes for pdf-fop
  

Changed:
  U   zopyx.convert2/trunk/CHANGES.txt
  U   zopyx.convert2/trunk/src/zopyx/convert2/fo.py
  U   zopyx.convert2/trunk/src/zopyx/convert2/fop.py
  U   zopyx.convert2/trunk/src/zopyx/convert2/tidy.py

-=-
Modified: zopyx.convert2/trunk/CHANGES.txt
===================================================================
--- zopyx.convert2/trunk/CHANGES.txt	2010-08-16 11:55:56 UTC (rev 115700)
+++ zopyx.convert2/trunk/CHANGES.txt	2010-08-16 12:35:03 UTC (rev 115701)
@@ -1,3 +1,7 @@
+2.2.3 (2010-08-16)
+==================
+- made stripping of the BASE tag specific to pdf-fop
+
 2.2.2 (2010-08-15)
 ==================
 - pdf-fop converter not registered properly

Modified: zopyx.convert2/trunk/src/zopyx/convert2/fo.py
===================================================================
--- zopyx.convert2/trunk/src/zopyx/convert2/fo.py	2010-08-16 11:55:56 UTC (rev 115700)
+++ zopyx.convert2/trunk/src/zopyx/convert2/fo.py	2010-08-16 12:35:03 UTC (rev 115701)
@@ -34,7 +34,7 @@
         """
 
         if tidy:
-            filename = tidyhtml(filename, encoding)
+            filename = tidyhtml(filename, encoding, strip_base=kw.get('strip_base', False))
 
         if output_filename:
             fo_filename = output_filename
@@ -44,7 +44,7 @@
         csstoxslfo = os.path.abspath(os.path.join(dirname, 'lib', 'csstoxslfo', 'css2xslfo.jar'))
         if not os.path.exists(csstoxslfo):
             raise IOError('%s does not exist' % csstoxslfo)
-
+        
         cmd = '"%s"' % java + \
               ' -Duser.language=en -Xms256m -Xmx256m -jar "%(csstoxslfo)s" "%(filename)s" -fo "%(fo_filename)s"' % vars()
         for k in kw:

Modified: zopyx.convert2/trunk/src/zopyx/convert2/fop.py
===================================================================
--- zopyx.convert2/trunk/src/zopyx/convert2/fop.py	2010-08-16 11:55:56 UTC (rev 115700)
+++ zopyx.convert2/trunk/src/zopyx/convert2/fop.py	2010-08-16 12:35:03 UTC (rev 115701)
@@ -62,6 +62,7 @@
         return fop_available
 
     def convert(self, output_filename=None, **options):
+        options['strip_base'] = True
         self.convert2FO(**options)
         result = fo2pdf(self.fo_filename, output_filename)
         return result

Modified: zopyx.convert2/trunk/src/zopyx/convert2/tidy.py
===================================================================
--- zopyx.convert2/trunk/src/zopyx/convert2/tidy.py	2010-08-16 11:55:56 UTC (rev 115700)
+++ zopyx.convert2/trunk/src/zopyx/convert2/tidy.py	2010-08-16 12:35:03 UTC (rev 115701)
@@ -14,7 +14,7 @@
 
 LOG = logging.getLogger('zopyx.convert2')
 
-def tidyhtml(filename, encoding='utf-8'):
+def tidyhtml(filename, encoding='utf-8', strip_base=False):
 
     html = file(filename, 'rb').read()
 
@@ -57,6 +57,11 @@
     entity_reg = re.compile('(&.*?;)')
     html = entity_reg.sub(handler, html)
 
+    # replace BASE tag
+    if strip_base:
+        base_reg = re.compile('(<base.*?>)', re.I)
+        html = base_reg.sub('', html)
+
     filename = newTempfile()
     file(filename, 'wb').write(str(html))
     return filename



More information about the checkins mailing list