def replace_scalar_assign(defnode, namenode):
"""
search in defnode to see if namenode assigned as scalar before
if it's true, return the assigned str
"""
potential_assignnodes = py_ast.find_all(defnode, ast.Assign)
assignnodes = []
for potential_assignnode in potential_assignnodes:
try:
if len(potential_assignnode.targets) == 1:
if isinstance(potential_assignnode.targets[0], ast.Name):
if potential_assignnode.targets[0].id == namenode.id:
if is_before(potential_assignnode, namenode):
assignnodes.append(potential_assignnode)
except:
pass
if len(assignnodes) == 1:
return py_ast.dump_ast(assignnodes[0].value)
else:
raise ValueError
评论列表
文章目录