Przejdź do głównej zawartości

Kod Python

Python wykonuje się za pośrednictwem Pyodide — CPythona skompilowanego do WebAssembly — w osobnym wątku. Na komputerze użytkownika nie jest wymagany żaden Python.

SymbolRola
inputWartość odebrana na porcie wejściowym
varsSłownik zmiennych uruchomienia
print(...)Zapisuje w dzienniku wykonania
Ostatnie wyrażenieJego wartość trafia na port result
commandes = input["commandes"]
payees = [c for c in commandes if c["statut"] == "payee"]
total = sum(c["montant"] for c in payees)
print(f"{len(payees)} commandes payées, total {total} €")
{"nombre": len(payees), "total": total}

Biblioteka standardowa CPythona jest dostępna: json, re, datetime, hashlib, base64, itertools, collections

import hashlib, hmac
signature = hmac.new(
vars["secret"].encode(),
input["corps"].encode(),
hashlib.sha256,
).hexdigest()
{"signature": signature}

Deklaruje się je w polu packages bloku. Są pobierane z PyPI przy pierwszym uruchomieniu, zapisywane w pamięci podręcznej, a potem ładowane offline.

Przekroczenie timeout albo zatrzymanie wykonania przerywa je wyjątkiem KeyboardInterrupt, a następnie w razie potrzeby kończy wątek.