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
|
||||
from typing import Dict
|
||||
from typing import Iterable
|
||||
from typing import List
|
||||
from typing import Optional
|
||||
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.entries.script.variable_scripts import VARIABLE_SCRIPTS
|
||||
from ytdl_sub.script.script import Script
|
||||
from ytdl_sub.utils.script import ScriptUtils
|
||||
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(
|
||||
plugins: PresetPlugins, downloader_options: MultiUrlValidator, resolved_variables: Set[str]
|
||||
) -> Tuple[Set[str], Set[str]]:
|
||||
|
|
@ -91,9 +101,7 @@ class VariableValidation:
|
|||
)
|
||||
|
||||
# copy the script and mock entry variables
|
||||
self.script = copy.deepcopy(overrides.script).add(
|
||||
ScriptUtils.add_dummy_variables(entry_variables)
|
||||
)
|
||||
self.script = copy.deepcopy(overrides.script).add(_add_dummy_variables(entry_variables))
|
||||
|
||||
return self
|
||||
|
||||
|
|
@ -117,7 +125,7 @@ class VariableValidation:
|
|||
|
||||
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
|
||||
|
||||
return added_variables
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
from abc import ABC
|
||||
from abc import abstractmethod
|
||||
from dataclasses import dataclass
|
||||
from typing import Callable
|
||||
from typing import Dict
|
||||
from typing import Iterable
|
||||
from typing import List
|
||||
|
|
|
|||
|
|
@ -42,6 +42,8 @@ def validate_custom_function_name(custom_function_name: str) -> None:
|
|||
"""
|
||||
Raises
|
||||
------
|
||||
InvalidFunctionName
|
||||
If the function name is invalid
|
||||
InvalidVariableName
|
||||
if the variable name is invalid
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -238,6 +238,9 @@ class Chapters:
|
|||
|
||||
@classmethod
|
||||
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] = []
|
||||
titles: List[str] = []
|
||||
|
||||
|
|
|
|||
|
|
@ -5,15 +5,6 @@ from typing import Iterable
|
|||
|
||||
|
||||
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
|
||||
def add_sanitized_variables(cls, variables: Dict[str, str]) -> Dict[str, str]:
|
||||
sanitized_variables = {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
from typing import Dict
|
||||
|
||||
from yt_dlp.utils import datetime_from_str
|
||||
|
||||
from ytdl_sub.validators.string_formatter_validators import OverridesStringFormatterValidator
|
||||
|
|
|
|||
Loading…
Reference in a new issue