diff --git a/src/ytdl_sub/downloaders/url/downloader.py b/src/ytdl_sub/downloaders/url/downloader.py index c38aedfa..984aaded 100644 --- a/src/ytdl_sub/downloaders/url/downloader.py +++ b/src/ytdl_sub/downloaders/url/downloader.py @@ -474,6 +474,7 @@ class MultiUrlDownloader(SourcePlugin[MultiUrlValidator]): { v.ytdl_sub_input_url: url, v.ytdl_sub_input_url_index: idx, + v.ytdl_sub_input_url_count: len(self.collection.urls.list), } ) diff --git a/src/ytdl_sub/entries/script/variable_definitions.py b/src/ytdl_sub/entries/script/variable_definitions.py index a29d469c..5f2a991d 100644 --- a/src/ytdl_sub/entries/script/variable_definitions.py +++ b/src/ytdl_sub/entries/script/variable_definitions.py @@ -758,6 +758,14 @@ class YtdlSubVariableDefinitions(ABC): """ return IntegerVariable(variable_name="ytdl_sub_input_url_index", definition="{ %int(0) }") + @cached_property + def ytdl_sub_input_url_count(self: "VariableDefinitions") -> IntegerVariable: + """ + :description: + The total number of input URLs as defined in the subscription. + """ + return IntegerVariable(variable_name="ytdl_sub_input_url_count", definition="{ %int(0) }") + @cached_property def download_index(self: "VariableDefinitions") -> IntegerVariable: """ @@ -1108,6 +1116,8 @@ class VariableDefinitions( self.chapters, self.sponsorblock_chapters, self.ytdl_sub_input_url, + self.ytdl_sub_input_url_index, + self.ytdl_sub_input_url_count, } @cache