|
|
|
|
@ -70,6 +70,13 @@ class Script:
|
|
|
|
|
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
def process_one(self, p, *args):
|
|
|
|
|
"""
|
|
|
|
|
Same as process(), but called for every iteration
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
def postprocess(self, p, processed, *args):
|
|
|
|
|
"""
|
|
|
|
|
This function is called after processing ends for AlwaysVisible scripts.
|
|
|
|
|
@ -294,6 +301,15 @@ class ScriptRunner:
|
|
|
|
|
print(f"Error running process: {script.filename}", file=sys.stderr)
|
|
|
|
|
print(traceback.format_exc(), file=sys.stderr)
|
|
|
|
|
|
|
|
|
|
def process_one(self, p):
|
|
|
|
|
for script in self.alwayson_scripts:
|
|
|
|
|
try:
|
|
|
|
|
script_args = p.script_args[script.args_from:script.args_to]
|
|
|
|
|
script.process_one(p, *script_args)
|
|
|
|
|
except Exception:
|
|
|
|
|
print(f"Error running process_one: {script.filename}", file=sys.stderr)
|
|
|
|
|
print(traceback.format_exc(), file=sys.stderr)
|
|
|
|
|
|
|
|
|
|
def postprocess(self, p, processed):
|
|
|
|
|
for script in self.alwayson_scripts:
|
|
|
|
|
try:
|
|
|
|
|
|