[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [1775] trunk/py/scripts/addons/ io_curve_svg/import_svg.py: handle exceptions for reading non XML files - cant decode or parse, real errors in code will still raise exceptions.

Campbell Barton ideasman42 at gmail.com
Mon Apr 4 05:01:08 CEST 2011


Revision: 1775
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=1775
Author:   campbellbarton
Date:     2011-04-04 03:01:06 +0000 (Mon, 04 Apr 2011)
Log Message:
-----------
handle exceptions for reading non XML files - cant decode or parse, real errors in code will still raise exceptions.

Modified Paths:
--------------
    trunk/py/scripts/addons/io_curve_svg/import_svg.py

Modified: trunk/py/scripts/addons/io_curve_svg/import_svg.py
===================================================================
--- trunk/py/scripts/addons/io_curve_svg/import_svg.py	2011-04-03 14:22:40 UTC (rev 1774)
+++ trunk/py/scripts/addons/io_curve_svg/import_svg.py	2011-04-04 03:01:06 UTC (rev 1775)
@@ -1814,6 +1814,15 @@
 
 def load(operator, context, filepath=""):
 
-    load_svg(filepath)
+    # error in code should raise exceptions but loading
+    # non SVG files can give useful messages.
+    try:
+        load_svg(filepath)
+    except (xml.parsers.expat.ExpatError, UnicodeEncodeError) as e:
+        import traceback
+        traceback.print_exc()
 
+        operator.report({'WARNING'}, "Unable to parse XML, %s:%s for file %r" % (type(e).__name__, e, filepath))
+        return {'CANCELLED'}
+
     return {'FINISHED'}



More information about the Bf-extensions-cvs mailing list