move things out of script utils
This commit is contained in:
parent
ce07ce3ec0
commit
837c6c1af9
6 changed files with 18 additions and 17 deletions
|
|
@ -1,4 +1,6 @@
|
||||||
import copy
|
import copy
|
||||||
|
from typing import Dict
|
||||||
|
from typing import Iterable
|
||||||
from typing import List
|
from typing import List
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
from typing import Set
|
from typing import Set
|
||||||
|
|
@ -13,10 +15,18 @@ from ytdl_sub.config.validators.options import OptionsValidator
|
||||||
from ytdl_sub.downloaders.url.validators import MultiUrlValidator
|
from ytdl_sub.downloaders.url.validators import MultiUrlValidator
|
||||||
from ytdl_sub.entries.script.variable_scripts import VARIABLE_SCRIPTS
|
from ytdl_sub.entries.script.variable_scripts import VARIABLE_SCRIPTS
|
||||||
from ytdl_sub.script.script import Script
|
from ytdl_sub.script.script import Script
|
||||||
from ytdl_sub.utils.script import ScriptUtils
|
|
||||||
from ytdl_sub.validators.string_formatter_validators import validate_formatters
|
from ytdl_sub.validators.string_formatter_validators import validate_formatters
|
||||||
|
|
||||||
|
|
||||||
|
def _add_dummy_variables(variables: Iterable[str]) -> Dict[str, str]:
|
||||||
|
dummy_variables: Dict[str, str] = {}
|
||||||
|
for var in variables:
|
||||||
|
dummy_variables[var] = ""
|
||||||
|
dummy_variables[f"{var}_sanitized"] = ""
|
||||||
|
|
||||||
|
return dummy_variables
|
||||||
|
|
||||||
|
|
||||||
def _get_added_and_modified_variables(
|
def _get_added_and_modified_variables(
|
||||||
plugins: PresetPlugins, downloader_options: MultiUrlValidator, resolved_variables: Set[str]
|
plugins: PresetPlugins, downloader_options: MultiUrlValidator, resolved_variables: Set[str]
|
||||||
) -> Tuple[Set[str], Set[str]]:
|
) -> Tuple[Set[str], Set[str]]:
|
||||||
|
|
@ -91,9 +101,7 @@ class VariableValidation:
|
||||||
)
|
)
|
||||||
|
|
||||||
# copy the script and mock entry variables
|
# copy the script and mock entry variables
|
||||||
self.script = copy.deepcopy(overrides.script).add(
|
self.script = copy.deepcopy(overrides.script).add(_add_dummy_variables(entry_variables))
|
||||||
ScriptUtils.add_dummy_variables(entry_variables)
|
|
||||||
)
|
|
||||||
|
|
||||||
return self
|
return self
|
||||||
|
|
||||||
|
|
@ -117,7 +125,7 @@ class VariableValidation:
|
||||||
|
|
||||||
resolved_variables = added_variables | modified_variables
|
resolved_variables = added_variables | modified_variables
|
||||||
|
|
||||||
self.script.add(ScriptUtils.add_dummy_variables(resolved_variables))
|
self.script.add(_add_dummy_variables(resolved_variables))
|
||||||
self.unresolved_variables -= resolved_variables
|
self.unresolved_variables -= resolved_variables
|
||||||
|
|
||||||
return added_variables
|
return added_variables
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
from abc import ABC
|
from abc import ABC
|
||||||
from abc import abstractmethod
|
from abc import abstractmethod
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from typing import Callable
|
|
||||||
from typing import Dict
|
from typing import Dict
|
||||||
from typing import Iterable
|
from typing import Iterable
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,8 @@ def validate_custom_function_name(custom_function_name: str) -> None:
|
||||||
"""
|
"""
|
||||||
Raises
|
Raises
|
||||||
------
|
------
|
||||||
|
InvalidFunctionName
|
||||||
|
If the function name is invalid
|
||||||
InvalidVariableName
|
InvalidVariableName
|
||||||
if the variable name is invalid
|
if the variable name is invalid
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
|
|
@ -238,6 +238,9 @@ class Chapters:
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def from_yt_dlp_chapters(cls, chapters: List[Dict[str, str | float]]):
|
def from_yt_dlp_chapters(cls, chapters: List[Dict[str, str | float]]):
|
||||||
|
"""
|
||||||
|
Create a Chapters object from the raw ``chapters`` metadata returned in an info.json
|
||||||
|
"""
|
||||||
timestamps: List[Timestamp] = []
|
timestamps: List[Timestamp] = []
|
||||||
titles: List[str] = []
|
titles: List[str] = []
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,15 +5,6 @@ from typing import Iterable
|
||||||
|
|
||||||
|
|
||||||
class ScriptUtils:
|
class ScriptUtils:
|
||||||
@classmethod
|
|
||||||
def add_dummy_variables(cls, variables: Iterable[str]) -> Dict[str, str]:
|
|
||||||
dummy_variables: Dict[str, str] = {}
|
|
||||||
for var in variables:
|
|
||||||
dummy_variables[var] = ""
|
|
||||||
dummy_variables[f"{var}_sanitized"] = ""
|
|
||||||
|
|
||||||
return dummy_variables
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def add_sanitized_variables(cls, variables: Dict[str, str]) -> Dict[str, str]:
|
def add_sanitized_variables(cls, variables: Dict[str, str]) -> Dict[str, str]:
|
||||||
sanitized_variables = {
|
sanitized_variables = {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
from typing import Dict
|
|
||||||
|
|
||||||
from yt_dlp.utils import datetime_from_str
|
from yt_dlp.utils import datetime_from_str
|
||||||
|
|
||||||
from ytdl_sub.validators.string_formatter_validators import OverridesStringFormatterValidator
|
from ytdl_sub.validators.string_formatter_validators import OverridesStringFormatterValidator
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue