nodes were being ignored by api update script.
This commit is contained in:
parent
44afd8ae5a
commit
2755129fb6
@ -111,6 +111,7 @@ def classes_recursive(base_type, clss=None):
|
||||
|
||||
|
||||
def find_path_new(id_data, data_path, rna_update_dict, rna_update_from_map):
|
||||
# note!, id_data can be ID type or a node tree
|
||||
# ignore ID props for now
|
||||
if data_path.startswith("["):
|
||||
return data_path
|
||||
@ -156,36 +157,43 @@ def update_data_paths(rna_update):
|
||||
rna_update_from_map.setdefault(ren_from, []).append(ren_to)
|
||||
|
||||
for id_data in id_iter():
|
||||
anim_data = getattr(id_data, "animation_data", None)
|
||||
if anim_data is None:
|
||||
continue
|
||||
|
||||
for fcurve in anim_data.drivers:
|
||||
for var in fcurve.driver.variables:
|
||||
if var.type == 'SINGLE_PROP':
|
||||
for tar in var.targets:
|
||||
id_data_other = tar.id
|
||||
data_path = tar.data_path
|
||||
|
||||
if id_data_other and data_path:
|
||||
data_path_new = find_path_new(id_data_other, data_path, rna_update_dict, rna_update_from_map)
|
||||
# print(data_path_new)
|
||||
if data_path_new != data_path:
|
||||
if not IS_TESTING:
|
||||
tar.data_path = data_path_new
|
||||
print("driver (%s): %s -> %s" % (id_data_other.name, data_path, data_path_new))
|
||||
|
||||
# check node-trees too
|
||||
anim_data_ls = [(id_data, getattr(id_data, "animation_data", None))]
|
||||
node_tree = getattr(id_data, "node_tree", None)
|
||||
if node_tree:
|
||||
anim_data_ls.append((node_tree, node_tree.animation_data))
|
||||
|
||||
for anim_data_base, anim_data in anim_data_ls:
|
||||
if anim_data is None:
|
||||
continue
|
||||
|
||||
for fcurve in anim_data.drivers:
|
||||
for var in fcurve.driver.variables:
|
||||
if var.type == 'SINGLE_PROP':
|
||||
for tar in var.targets:
|
||||
id_data_other = tar.id
|
||||
data_path = tar.data_path
|
||||
|
||||
if id_data_other and data_path:
|
||||
data_path_new = find_path_new(id_data_other, data_path, rna_update_dict, rna_update_from_map)
|
||||
# print(data_path_new)
|
||||
if data_path_new != data_path:
|
||||
if not IS_TESTING:
|
||||
tar.data_path = data_path_new
|
||||
print("driver (%s): %s -> %s" % (id_data_other.name, data_path, data_path_new))
|
||||
|
||||
|
||||
|
||||
|
||||
for action in anim_data_actions(anim_data):
|
||||
for fcu in action.fcurves:
|
||||
data_path = fcu.data_path
|
||||
data_path_new = find_path_new(id_data, data_path, rna_update_dict, rna_update_from_map)
|
||||
# print(data_path_new)
|
||||
if data_path_new != data_path:
|
||||
if not IS_TESTING:
|
||||
fcu.data_path = data_path_new
|
||||
print("fcurve (%s): %s -> %s" % (id_data.name, data_path, data_path_new))
|
||||
for action in anim_data_actions(anim_data):
|
||||
for fcu in action.fcurves:
|
||||
data_path = fcu.data_path
|
||||
data_path_new = find_path_new(anim_data_base, data_path, rna_update_dict, rna_update_from_map)
|
||||
# print(data_path_new)
|
||||
if data_path_new != data_path:
|
||||
if not IS_TESTING:
|
||||
fcu.data_path = data_path_new
|
||||
print("fcurve (%s): %s -> %s" % (id_data.name, data_path, data_path_new))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
Loading…
Reference in New Issue
Block a user