[Bf-blender-cvs] [681a7d724b1] master: PyAPI: replace repr with our own escape function in animsys_refactor

Campbell Barton noreply at git.blender.org
Tue Mar 30 12:59:23 CEST 2021


Commit: 681a7d724b1ab7df811adb951239ff35c9dbaa1f
Author: Campbell Barton
Date:   Tue Mar 30 21:53:52 2021 +1100
Branches: master
https://developer.blender.org/rB681a7d724b1ab7df811adb951239ff35c9dbaa1f

PyAPI: replace repr with our own escape function in animsys_refactor

Use the same string escaping logic shared by RNA path resolving code.

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

M	release/scripts/modules/animsys_refactor.py

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

diff --git a/release/scripts/modules/animsys_refactor.py b/release/scripts/modules/animsys_refactor.py
index 97e8a8dd144..fd4952e2a53 100644
--- a/release/scripts/modules/animsys_refactor.py
+++ b/release/scripts/modules/animsys_refactor.py
@@ -32,12 +32,6 @@ import bpy
 IS_TESTING = False
 
 
-def drepr(string):
-    # is there a less crappy way to do this in python?, re.escape also escapes
-    # single quotes strings so can't use it.
-    return '"%s"' % repr(string)[1:-1].replace("\"", "\\\"").replace("\\'", "'")
-
-
 def classes_recursive(base_type, clss=None):
     if clss is None:
         clss = [base_type]
@@ -66,7 +60,7 @@ class DataPathBuilder:
         if type(key) is int:
             str_value = '[%d]' % key
         elif type(key) is str:
-            str_value = '[%s]' % drepr(key)
+            str_value = '["%s"]' % bpy.utils.escape_identifier(key)
         else:
             raise Exception("unsupported accessor %r of type %r (internal error)" % (key, type(key)))
         return DataPathBuilder(self.data_path + (str_value, ))



More information about the Bf-blender-cvs mailing list