diff --git a/src/ytdl_sub/entries/script/variable_definitions.py b/src/ytdl_sub/entries/script/variable_definitions.py index 75496a96..67505473 100644 --- a/src/ytdl_sub/entries/script/variable_definitions.py +++ b/src/ytdl_sub/entries/script/variable_definitions.py @@ -1162,6 +1162,7 @@ class VariableDefinitions( """ return { self.uid, + self.extractor, self.extractor_key, self.epoch, self.webpage_url, diff --git a/tests/integration/prebuilt_presets/test_url.py b/tests/integration/prebuilt_presets/test_url.py index e93621bc..0da8d4b5 100644 --- a/tests/integration/prebuilt_presets/test_url.py +++ b/tests/integration/prebuilt_presets/test_url.py @@ -74,8 +74,6 @@ class TestUrl: upload_date_idx=0, ).initialize_script(subscription.overrides) - entry.add({ - v.ytdl_sub_input_url_index.variable_name: 0 - }) + entry.add({v.ytdl_sub_input_url_index.variable_name: 0}) assert downloader.webpage_url(entry) == "youtube.com/test_url_append_test" diff --git a/tests/unit/entries/test_entry.py b/tests/unit/entries/test_entry.py index 4797092d..07b7a5a3 100644 --- a/tests/unit/entries/test_entry.py +++ b/tests/unit/entries/test_entry.py @@ -58,3 +58,25 @@ class TestEntry(object): assert entry.get(v.upload_day_of_year_reversed, int) == day_year_rev assert entry.get(v.upload_day_of_year_padded, str) == day_year_pad assert entry.get(v.upload_day_of_year_reversed_padded, str) == day_year_rev_pad + + def test_entry_required_variables(self): + entry_dict = { + v.uid.metadata_key: "0", + v.extractor.metadata_key: "test", + v.extractor_key.metadata_key: "test", + v.epoch.metadata_key: 123, + v.webpage_url.metadata_key: "youtube.com/test_url", + v.ext.metadata_key: "mp4", + } + + assert set(entry_dict.keys()) == {_.metadata_key for _ in v.required_entry_variables()} + + # Ensure adding variables works + entry = Entry( + entry_dict=entry_dict, + working_directory=".", + ).initialize_script() + + entry.add({v.channel: "can add"}) + + assert entry.get(v.channel, str) == "can add"