Avoid evals and release name constraint

Name resemblances between two variables should be for the developers' benefit only. If there is a link between data, it should be apparent.
This commit is contained in:
Gouvernathor 2024-04-04 22:36:46 +02:00
parent 34547cb0ad
commit b49129ad1f

View File

@ -81,24 +81,27 @@ python early hide:
def execute(self): def execute(self):
print(f"{self}") print(f"{self}")
who, action = self who, action = self
func = eval(f"{who}_chibi.{action}") chibi = DollChibi.instance[who]
getattr(chibi, action)
# print(f"Execution: {who} {action}") # print(f"Execution: {who} {action}")
def lint(self): def lint(self):
who, action = self who, action = self
try:
chibi = eval(f"{who}_chibi") if who not in DollChibi.instances:
except Exception:
renpy.error(f"Character chibi not defined: {who}") renpy.error(f"Character chibi not defined: {who}")
chibi = DollChibi.instances[who]
if not hasattr(chibi, action): if not hasattr(chibi, action):
renpy.error(f"Chibi action not defined: {who} {action}") renpy.error(f"Chibi action not defined: {who} {action}")
def predict(self): def predict(self):
who, action = self who, action = self
chibi = eval(f"{who}_chibi") chibi = DollChibi.instances[who]
doll = eval(f"{who}") doll = getattr(store, who)
layers = ( layers = (
l[0] for pose in chibi.poses.keys() l[0] for pose in chibi.poses.keys()