support sub file

This commit is contained in:
Jesse Bannon 2024-11-02 00:24:48 -07:00
parent 6260df805d
commit 57c6095336
2 changed files with 11 additions and 20 deletions

View file

@ -9,10 +9,12 @@ from ytdl_sub.subscriptions.subscription import Subscription
def debug_yaml_to_preset_dict(debug_subscription_dict: Dict, output_directory: str) -> Dict: def debug_yaml_to_preset_dict(debug_subscription_dict: Dict, output_directory: str) -> Dict:
out = debug_subscription_dict["presets"]["subs"] presets_level = debug_subscription_dict["presets"]
del out["preset"] assert isinstance(presets_level, dict) and len(presets_level) == 1
out["output_options"]["output_directory"] = output_directory subscription = list(presets_level.values())[0]
return out del subscription["preset"]
subscription["output_options"]["output_directory"] = output_directory
return subscription
@pytest.fixture @pytest.fixture
@ -30,7 +32,7 @@ def subscription_yaml_preset(default_config, output_directory):
subscriptions = Subscription.from_file_path( subscriptions = Subscription.from_file_path(
config=default_config, subscription_path=file_fixture_path("repro.yaml") config=default_config, subscription_path=file_fixture_path("repro.yaml")
) )
subscription_dict = json.loads(subscriptions[0].as_yaml()) subscription_dict = yaml.safe_load(subscriptions[0].as_yaml())
return debug_yaml_to_preset_dict( return debug_yaml_to_preset_dict(
debug_subscription_dict=subscription_dict, debug_subscription_dict=subscription_dict,
output_directory=output_directory, output_directory=output_directory,

View file

@ -3,24 +3,13 @@ __preset__:
music_directory: "hi" music_directory: "hi"
YouTube Full Albums: YouTube Full Albums:
= Lofi:
"~Game Chops":
url: "https://www.youtube.com/playlist?list=PLBsm_SagFMmdWnCnrNtLjA9kzfrRkto4i"
chapter_title_regex_array:
- "^\\d+\\.\\.(.*)" # Captures 'title' from '1..title'
chapter_title_capture: >-
{
%regex_capture_many( chapter_title, chapter_title_regex_array, [chapter_title] )
}
track_title: "{%array_at(chapter_title_capture, 1)}"
= Eastern Bloc: = Eastern Bloc:
"Eastern Bloc": "Eastern Bloc":
output_options: output_options:
migrated_download_archive_name: ".Eastern Bloc-download-archive.json" migrated_download_archive_name: ".Eastern Bloc-download-archive.json"
ytdl_options:
max_downloads: 3
overrides: overrides:
title_capture_regex_array: title_capture_regex_array:
- "^(.*) - (.*) \\|\\|.*" # Captures artist, album from 'artist - album ||...' - "^(.*) - (.*) \\|\\|.*" # Captures artist, album from 'artist - album ||...'
@ -32,10 +21,10 @@ YouTube Full Albums:
} }
description_capture_regex_array: description_capture_regex_array:
- "Genre:\\s*(.*)\\s*\n(?:Rec.+|Year):\\s*.*(\\d{4})\\s*\\n" # Captures genre and recorded year - 'Genre:\s*(.*)\s*\n(?:Rec.+|Year):\s*.*(\d\{4\})\s*\n' # Captures genre and recorded year
description_capture: >- description_capture: >-
{ {
%regex_capture_many( description, description_capture_regex_array, ) %regex_capture_many( description, description_capture_regex_array)
} }
chapter_title_regex_array: chapter_title_regex_array: