Files
nixpkgs/nixos/tests/windmill/python3.script
T
2025-11-25 15:17:48 +00:00

40 lines
1.1 KiB
Plaintext

# WARN; Cannot download dependency modules from internet during sandbox testing!
import os
# import wmill
def main(
no_default: str,
#db: postgresql,
name="my friend",
age=42,
obj: dict = {"even": "dicts"},
l: list = ["or", "lists!"],
file_: bytes = bytes(0),
):
print(f"Hello World and a warm welcome especially to {name}")
print("and its acolytes..", age, obj, l, len(file_))
# retrieve variables, resources, states using the wmill client
try:
secret = wmill.get_variable("f/examples/secret")
except:
secret = "No secret yet at f/examples/secret !"
print(f"The variable at `f/examples/secret`: {secret}")
try:
# Get last state of this script execution by the same trigger/user
last_state = wmill.get_state()
new_state = {"foo": 42} if last_state is None else last_state
new_state["foo"] += 1
wmill.set_state(new_state)
except:
new_state = {"foo": 43}
# fetch context variables
user = os.environ.get("WM_USERNAME")
# return value is converted to JSON
return {"splitted": name.split(), "user": user, "state": new_state}