better unresolvable support. By setting unresolvable to all built in ytld-sub variables, a nice output is shown
This commit is contained in:
parent
ce0d9e0669
commit
d69f042955
2 changed files with 10 additions and 4 deletions
|
|
@ -559,6 +559,8 @@ class Script:
|
|||
|
||||
for definitions in [functions_to_add, variables_to_add]:
|
||||
for name, parsed in definitions.items():
|
||||
if isinstance(parsed, Variable):
|
||||
print("huh")
|
||||
if parsed.maybe_resolvable is None:
|
||||
added_variables_to_validate.add(name)
|
||||
|
||||
|
|
@ -702,11 +704,9 @@ class Script:
|
|||
def _to_syntax_tree(
|
||||
self, maybe_resolved: SyntaxTree | Resolvable | VariableDependency
|
||||
) -> SyntaxTree:
|
||||
if isinstance(maybe_resolved, Resolvable):
|
||||
return ResolvedSyntaxTree(ast=[maybe_resolved])
|
||||
if isinstance(maybe_resolved, SyntaxTree):
|
||||
return maybe_resolved
|
||||
if isinstance(maybe_resolved, VariableDependency):
|
||||
if isinstance(maybe_resolved, (Variable, VariableDependency, Resolvable)):
|
||||
return SyntaxTree(ast=[maybe_resolved])
|
||||
|
||||
return maybe_resolved
|
||||
|
|
@ -752,7 +752,10 @@ class Script:
|
|||
definition = unresolved[variable]
|
||||
|
||||
if isinstance(definition, Variable):
|
||||
maybe_resolved = resolved.get(definition, unresolved[definition])
|
||||
if definition in unresolvable:
|
||||
maybe_resolved = definition
|
||||
else:
|
||||
maybe_resolved = resolved.get(definition, unresolved[definition])
|
||||
else:
|
||||
assert isinstance(definition, VariableDependency)
|
||||
maybe_resolved = definition.partial_resolve(
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ import pytest
|
|||
import yaml
|
||||
|
||||
from ytdl_sub.config.config_file import ConfigFile
|
||||
from ytdl_sub.entries.script.variable_definitions import VARIABLES
|
||||
from ytdl_sub.entries.script.variable_definitions import VariableDefinitions
|
||||
from ytdl_sub.plugins.nfo_tags import NfoTagsOptions
|
||||
from ytdl_sub.subscriptions.subscription import Subscription
|
||||
from ytdl_sub.utils.exceptions import ValidationException
|
||||
|
|
@ -615,6 +617,7 @@ def test_default_docker_config_and_subscriptions(
|
|||
)
|
||||
unresolvable.add("entry_metadata")
|
||||
unresolvable.add("sibling_metadata")
|
||||
unresolvable.update(VARIABLES.scripts().keys())
|
||||
|
||||
out = default_subs[0].overrides.script.resolve_partial(unresolvable=unresolvable)
|
||||
test1 = ScriptUtils.to_native_script(out._variables["episode_file_name"])
|
||||
|
|
|
|||
Loading…
Reference in a new issue