[Libreoffice-commits] core.git: librelogo/source

László Németh nemeth at numbertext.org
Thu Jul 18 05:57:39 PDT 2013


 librelogo/source/LibreLogo/LibreLogo.py |   12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

New commits:
commit 90e3d0fef329917218ffb121179e06ab73ff01a5
Author: László Németh <nemeth at numbertext.org>
Date:   Thu Jul 18 14:51:17 2013 +0200

    librelogo: fix LibO SVG export for W3C Validator/Wikipedia
    
    Change-Id: I19b01b08ab08540cc8e9f7255d13663ba7ce1d02

diff --git a/librelogo/source/LibreLogo/LibreLogo.py b/librelogo/source/LibreLogo/LibreLogo.py
index e73a173..e3213ec 100644
--- a/librelogo/source/LibreLogo/LibreLogo.py
+++ b/librelogo/source/LibreLogo/LibreLogo.py
@@ -1208,6 +1208,15 @@ def __groupstart__(name = ""):
     __group__ = uno.getComponentContext().ServiceManager.createInstance('com.sun.star.drawing.ShapeCollection')
     __grouplefthang__ = 0
 
+def create_valid_svg_file(filename):
+    with open(filename, "r") as f:
+        s = f.read()
+    s = re.sub('(?s)(<g\\sid="[^"]*)\(([^"]*)\)', '\\1\\2', s) # bad "(", ")" in xml:id
+    s = re.sub('(?s)<g\\sooo:[^>]*>', '', s) # remove non standard attributes
+    s = re.sub('(?s)<svg\\s+version="1.2"', '<svg version="1.1"', s) # for W3C Validator
+    with open(filename, 'w') as f:
+        f.write(s)
+
 def __groupend__(name = ""):
     global __group__, __grouplefthang__, __groupstack__
     g = 0
@@ -1246,7 +1255,8 @@ def __groupend__(name = ""):
         name = os.path.expanduser('~') + os.path.sep + name
       __dispatcher__(".uno:ExportTo", (__getprop__("URL", unohelper.systemPathToFileUrl(name)), __getprop__("FilterName", "draw_svg_Export")), draw)
       __time__.sleep(1)
-      draw.dispose()
+      create_valid_svg_file(name)
+      draw.close(True)
 
     __group__ = __groupstack__.pop()
     if __group__ and g:


More information about the Libreoffice-commits mailing list