move things out of script utils

This commit is contained in:
Jesse Bannon 2023-12-13 14:41:31 -08:00
parent ce07ce3ec0
commit 837c6c1af9
6 changed files with 18 additions and 17 deletions

View file

@ -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

View file

@ -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

View file

@ -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
"""

View file

@ -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] = []

View file

@ -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 = {

View file

@ -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