From 57c60953367b4fb8b545573d0b280b9616800fd6 Mon Sep 17 00:00:00 2001 From: Jesse Bannon Date: Sat, 2 Nov 2024 00:24:48 -0700 Subject: [PATCH] support sub file --- tests/e2e/youtube/test_debug_repro.py | 12 +++++++----- tests/resources/file_fixtures/repro.yaml | 19 ++++--------------- 2 files changed, 11 insertions(+), 20 deletions(-) diff --git a/tests/e2e/youtube/test_debug_repro.py b/tests/e2e/youtube/test_debug_repro.py index 0da3579e..5dc5c465 100644 --- a/tests/e2e/youtube/test_debug_repro.py +++ b/tests/e2e/youtube/test_debug_repro.py @@ -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: - out = debug_subscription_dict["presets"]["subs"] - del out["preset"] - out["output_options"]["output_directory"] = output_directory - return out + presets_level = debug_subscription_dict["presets"] + assert isinstance(presets_level, dict) and len(presets_level) == 1 + subscription = list(presets_level.values())[0] + del subscription["preset"] + subscription["output_options"]["output_directory"] = output_directory + return subscription @pytest.fixture @@ -30,7 +32,7 @@ def subscription_yaml_preset(default_config, output_directory): subscriptions = Subscription.from_file_path( 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( debug_subscription_dict=subscription_dict, output_directory=output_directory, diff --git a/tests/resources/file_fixtures/repro.yaml b/tests/resources/file_fixtures/repro.yaml index 50abb981..4953f131 100644 --- a/tests/resources/file_fixtures/repro.yaml +++ b/tests/resources/file_fixtures/repro.yaml @@ -3,24 +3,13 @@ __preset__: music_directory: "hi" 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": output_options: migrated_download_archive_name: ".Eastern Bloc-download-archive.json" - + ytdl_options: + max_downloads: 3 overrides: title_capture_regex_array: - "^(.*) - (.*) \\|\\|.*" # Captures artist, album from 'artist - album ||...' @@ -32,10 +21,10 @@ YouTube Full Albums: } 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: >- { - %regex_capture_many( description, description_capture_regex_array, ) + %regex_capture_many( description, description_capture_regex_array) } chapter_title_regex_array: