[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [4037] contrib/py/scripts/addons/ online_mat_lib/__init__.py: Fixed bug when writing brackets from OSL scripts to .bcm files.

Peter Cassetta peter at fingertipsoft.com
Wed Dec 12 00:42:14 CET 2012


Revision: 4037
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=4037
Author:   petercassetta
Date:     2012-12-11 23:42:13 +0000 (Tue, 11 Dec 2012)
Log Message:
-----------
Fixed bug when writing brackets from OSL scripts to .bcm files.

Writing less than or greater than signs as brackets confused the XML parser, which thought they were stray tags.
Now they are instead written as "lt ;" and "gt ;" (without the spaces).
HTML uses this standard anyway, so I just figured I might as well utilize it too.

Modified Paths:
--------------
    contrib/py/scripts/addons/online_mat_lib/__init__.py

Modified: contrib/py/scripts/addons/online_mat_lib/__init__.py
===================================================================
--- contrib/py/scripts/addons/online_mat_lib/__init__.py	2012-12-11 08:13:31 UTC (rev 4036)
+++ contrib/py/scripts/addons/online_mat_lib/__init__.py	2012-12-11 23:42:13 UTC (rev 4037)
@@ -1680,7 +1680,7 @@
         for s in scripts:
             osl_datablock = bpy.data.texts.new(name=s.attributes['name'].value)
             osl_text = s.toxml()[s.toxml().index(">"):s.toxml().rindex("<")]
-            osl_text = osl_text[1:].replace("<br/>","\n")
+            osl_text = osl_text[1:].replace("<br/>","\n").replace("lt;", "<").replace("gt;", ">")
             osl_datablock.write(osl_text)
             osl_scripts.append(osl_datablock)
         
@@ -3210,10 +3210,10 @@
                     first_line = True
                     for l in bpy.data.texts[script_stack[i]].lines:
                         if first_line == True:
-                            write(l.body)
+                            write(l.body.replace("<", "lt;").replace(">", "gt;"))
                             first_line = False
                         else:
-                            write("<br />" + l.body)
+                            write("<br />" + l.body.replace("<", "lt;").replace(">", "gt;"))
                     write("\n\t\t</script>")
                     i += 1
                 write("\n\t</scripts>")



More information about the Bf-extensions-cvs mailing list