[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [4751] trunk/py/scripts/addons/ io_scene_fbx/import_fbx.py: add check for reading ascii fbx files, was common annoyance that users are unaware that they try to import ascii files .

Campbell Barton ideasman42 at gmail.com
Fri Sep 13 01:48:10 CEST 2013


Revision: 4751
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=4751
Author:   campbellbarton
Date:     2013-09-12 23:48:10 +0000 (Thu, 12 Sep 2013)
Log Message:
-----------
add check for reading ascii fbx files, was common annoyance that users are unaware that they try to import ascii files.

Modified Paths:
--------------
    trunk/py/scripts/addons/io_scene_fbx/import_fbx.py

Modified: trunk/py/scripts/addons/io_scene_fbx/import_fbx.py
===================================================================
--- trunk/py/scripts/addons/io_scene_fbx/import_fbx.py	2013-09-12 21:02:35 UTC (rev 4750)
+++ trunk/py/scripts/addons/io_scene_fbx/import_fbx.py	2013-09-12 23:48:10 UTC (rev 4751)
@@ -828,6 +828,17 @@
     return lamp
 
 
+def is_ascii(filepath, size):
+    with open(filepath, 'r', encoding="utf-8") as f:
+        try:
+            f.read(size)
+            return True
+        except UnicodeDecodeError:
+            pass
+
+    return False
+
+
 def load(operator, context, filepath="",
          global_matrix=None,
          use_cycles=True,
@@ -843,6 +854,11 @@
     import os
     from . import parse_fbx
 
+    # detect ascii files
+    if is_ascii(filepath, 24):
+        operator.report({'ERROR'}, "ASCII FBX files are not supported %r" % filepath)
+        return {'CANCELLED'}
+
     try:
         elem_root, version = parse_fbx.parse(filepath)
     except:



More information about the Bf-extensions-cvs mailing list