|
@@ -2,6 +2,8 @@ import json
|
|
|
import re
|
|
|
from abc import ABC, abstractmethod
|
|
|
from base64 import b64encode
|
|
|
+from collections.abc import Mapping
|
|
|
+from typing import Any
|
|
|
|
|
|
|
|
|
class TemplateTransformer(ABC):
|
|
@@ -10,7 +12,7 @@ class TemplateTransformer(ABC):
|
|
|
_result_tag: str = "<<RESULT>>"
|
|
|
|
|
|
@classmethod
|
|
|
- def transform_caller(cls, code: str, inputs: dict) -> tuple[str, str]:
|
|
|
+ def transform_caller(cls, code: str, inputs: Mapping[str, Any]) -> tuple[str, str]:
|
|
|
"""
|
|
|
Transform code to python runner
|
|
|
:param code: code
|
|
@@ -48,13 +50,13 @@ class TemplateTransformer(ABC):
|
|
|
pass
|
|
|
|
|
|
@classmethod
|
|
|
- def serialize_inputs(cls, inputs: dict) -> str:
|
|
|
+ def serialize_inputs(cls, inputs: Mapping[str, Any]) -> str:
|
|
|
inputs_json_str = json.dumps(inputs, ensure_ascii=False).encode()
|
|
|
input_base64_encoded = b64encode(inputs_json_str).decode("utf-8")
|
|
|
return input_base64_encoded
|
|
|
|
|
|
@classmethod
|
|
|
- def assemble_runner_script(cls, code: str, inputs: dict) -> str:
|
|
|
+ def assemble_runner_script(cls, code: str, inputs: Mapping[str, Any]) -> str:
|
|
|
# assemble runner script
|
|
|
script = cls.get_runner_script()
|
|
|
script = script.replace(cls._code_placeholder, code)
|