From cefa5a71f2b2ef56828d6e0e8e28d90fee3f3a5a Mon Sep 17 00:00:00 2001 From: Jesse Bannon Date: Wed, 18 Jun 2025 20:27:13 -0700 Subject: [PATCH] [FEATURE] `height` and `width` variables --- .../scripting/entry_variables.rst | 14 ++++++++++++++ .../entries/script/variable_definitions.py | 18 ++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/docs/source/config_reference/scripting/entry_variables.rst b/docs/source/config_reference/scripting/entry_variables.rst index eea90981..74107134 100644 --- a/docs/source/config_reference/scripting/entry_variables.rst +++ b/docs/source/config_reference/scripting/entry_variables.rst @@ -83,6 +83,13 @@ extractor_key :description: The yt-dlp extractor key +height +~~~~~~ +:type: ``Integer`` +:description: + Height in pixels of the video. If this value is unavailable (i.e. audio download), it + will default to 0. + ie_key ~~~~~~ :type: ``String`` @@ -165,6 +172,13 @@ webpage_url :description: The url to the webpage. +width +~~~~~ +:type: ``Integer`` +:description: + Width in pixels of the video. If this value is unavailable (i.e. audio download), it + will default to 0. + ---------------------------------------------------------------------------------------------------- Metadata Variables diff --git a/src/ytdl_sub/entries/script/variable_definitions.py b/src/ytdl_sub/entries/script/variable_definitions.py index cc86737d..bfd673b8 100644 --- a/src/ytdl_sub/entries/script/variable_definitions.py +++ b/src/ytdl_sub/entries/script/variable_definitions.py @@ -1093,6 +1093,24 @@ class EntryVariableDefinitions(ABC): definition="{ {} }", ) + @cached_property + def height(self: "VariableDefinitions") -> IntegerMetadataVariable: + """ + :description: + Height in pixels of the video. If this value is unavailable (i.e. audio download), it + will default to 0. + """ + return IntegerMetadataVariable.from_entry(metadata_key="height", default=0) + + @cached_property + def width(self: "VariableDefinitions") -> IntegerMetadataVariable: + """ + :description: + Width in pixels of the video. If this value is unavailable (i.e. audio download), it + will default to 0. + """ + return IntegerMetadataVariable.from_entry(metadata_key="width", default=0) + class VariableDefinitions( EntryVariableDefinitions,