[Bf-extensions-cvs] [906e8c55] master: POV: Handle non utf-8 imports

Maurice Raybaud noreply at git.blender.org
Tue Feb 1 22:31:41 CET 2022


Commit: 906e8c55eea5c30ab5c32a9045da39798c386c38
Author: Maurice Raybaud
Date:   Tue Feb 1 22:31:26 2022 +0100
Branches: master
https://developer.blender.org/rBA906e8c55eea5c30ab5c32a9045da39798c386c38

POV: Handle non utf-8 imports

* fix default open() encoding from strict system character set to utf-8
ignoring all other characters so Blender should no longer reject exotic
input pov files as mostly user declared names will probably get changed
in that process and likely everywhere the same way.

===================================================================

M	render_povray/scripting.py

===================================================================

diff --git a/render_povray/scripting.py b/render_povray/scripting.py
index 77e266ef..9499eb3d 100755
--- a/render_povray/scripting.py
+++ b/render_povray/scripting.py
@@ -153,7 +153,8 @@ class ImportPOV(bpy.types.Operator, ImportHelper):
         for file in self.files:
             print("Importing file: " + file.name)
             file_pov = self.directory + file.name
-            for line in open(file_pov):
+            # Ignore any non unicode character
+            for line in open(file_pov, encoding='utf-8', errors='ignore'):
                 string = line.replace("{", " ")
                 string = string.replace("}", " ")
                 string = string.replace("<", " ")
@@ -184,7 +185,7 @@ class ImportPOV(bpy.types.Operator, ImportHelper):
                             ]
                             matrixes[index] = value
                             write_matrix = False
-            for line in open(file_pov):
+            for line in open(file_pov, encoding='utf-8', errors='ignore'):
                 S = line.replace("{", " { ")
                 S = S.replace("}", " } ")
                 S = S.replace(",", " ")



More information about the Bf-extensions-cvs mailing list