diff --git a/src/ytdl_sub/utils/script.py b/src/ytdl_sub/utils/script.py index daf41410..c5331810 100644 --- a/src/ytdl_sub/utils/script.py +++ b/src/ytdl_sub/utils/script.py @@ -37,6 +37,6 @@ class ScriptUtils: elif isinstance(value, bool): out = f"{{%bool({value})}}" else: - out = f"{{%from_json('''{json.dumps(value, ensure_ascii=False)}''')}}" + out = f"{{%from_json('''{json.dumps(value, ensure_ascii=False, sort_keys=True)}''')}}" return out diff --git a/src/ytdl_sub/utils/scriptable.py b/src/ytdl_sub/utils/scriptable.py index 1c5ddb6e..f1460736 100644 --- a/src/ytdl_sub/utils/scriptable.py +++ b/src/ytdl_sub/utils/scriptable.py @@ -14,7 +14,9 @@ from ytdl_sub.utils.script import ScriptUtils class Scriptable(ABC): def __init__(self): self.script = Script( - dict(copy.deepcopy(VARIABLE_SCRIPTS), **copy.deepcopy(CUSTOM_FUNCTION_SCRIPTS)) + ScriptUtils.add_sanitized_variables( + dict(copy.deepcopy(VARIABLE_SCRIPTS), **copy.deepcopy(CUSTOM_FUNCTION_SCRIPTS)) + ) ) self.unresolvable: Set[str] = copy.deepcopy(UNRESOLVED_VARIABLES)