Merge branch 'master' into j/resolution-level

This commit is contained in:
Jesse Bannon 2026-01-16 13:53:18 -08:00
commit 0632fe170c
7 changed files with 14 additions and 13 deletions

View file

@ -34,7 +34,7 @@ class VideoTagsPlugin(Plugin[VideoTagsOptions]):
Tags the entry's audio file using values defined in the metadata options
"""
tags_to_write: Dict[str, str] = {}
for tag_name, tag_formatter in self.plugin_options.dict.items():
for tag_name, tag_formatter in sorted(self.plugin_options.dict.items()):
tag_value = self.overrides.apply_formatter(formatter=tag_formatter, entry=entry)
tags_to_write[tag_name] = tag_value

View file

@ -183,12 +183,13 @@ class DictFormatterValidator(LiteralDictValidator):
super().__init__(name, value)
for key in self._keys:
self._value[key] = self._validate_key(key=key, validator=self._key_validator)
# Gets stored in __validator_dict
_ = self._validate_key(key=key, validator=self._key_validator)
@property
def dict(self) -> Dict[str, StringFormatterValidator]:
"""Returns dict with string formatter values"""
return self._value
return self._validator_dict
@property
def dict_with_format_strings(self) -> Dict[str, str]:

View file

@ -2,18 +2,18 @@
".ytdl-sub-subscription_test-download-archive.json": "19cf39d57914ba9cbd1e57ba6f1e0683",
"JMC/Mock Entry 20-1.info.json": "INFO_JSON",
"JMC/Mock Entry 20-1.jpg": "e80c508c4818454300133fe1dc1a9cd7",
"JMC/Mock Entry 20-1.mkv": "eb9a8ff61701ab673c2f06147fe29a4e",
"JMC/Mock Entry 20-1.mkv": "cbc8c05ea5cf4deefd735b93af9c0259",
"JMC/Mock Entry 20-1.nfo": "fefcf0b3e4f4ff80ad636584d50dadec",
"JMC/Mock Entry 20-2.info.json": "INFO_JSON",
"JMC/Mock Entry 20-2.jpg": "e80c508c4818454300133fe1dc1a9cd7",
"JMC/Mock Entry 20-2.mkv": "65d047562c61a068e8a92bd8df8801fa",
"JMC/Mock Entry 20-2.mkv": "85cc274346abc0c71ab7702b0d61abde",
"JMC/Mock Entry 20-2.nfo": "025c0b631da5ff5470382b38fce78d2d",
"JMC/Mock Entry 20-3.info.json": "INFO_JSON",
"JMC/Mock Entry 20-3.jpg": "e80c508c4818454300133fe1dc1a9cd7",
"JMC/Mock Entry 20-3.mkv": "98582526fcb3bea10ab7b3df7a5bc65d",
"JMC/Mock Entry 20-3.mkv": "c5a9ce268475c3b8fa9d4d0e3c0c25ae",
"JMC/Mock Entry 20-3.nfo": "618b0ff948d9de2e10cf1da8c0dd6615",
"JMC/Mock Entry 21-1.info.json": "INFO_JSON",
"JMC/Mock Entry 21-1.jpg": "e80c508c4818454300133fe1dc1a9cd7",
"JMC/Mock Entry 21-1.mkv": "3fe368f6d4bd9662a24abca9215b4d26",
"JMC/Mock Entry 21-1.mkv": "ebdd8026e72625c56dd2aa8a2e19e814",
"JMC/Mock Entry 21-1.nfo": "e5c715749efc1603a6e2f59244d87aba"
}

View file

@ -10,7 +10,7 @@
"file_uid": "{ %sanitize_plex_episode( %map_get( entry_metadata, \"id\" ) ) }",
"include_sibling_metadata": "{ %bool(False) }",
"modified_webpage_url": "{ %map_get( entry_metadata, \"webpage_url\" ) }",
"music_video_album": "{ %get_url_field( \"category\", music_video_album_default ) }",
"music_video_album": "Music Videos",
"music_video_album_default": "Music Videos",
"music_video_artist": "Rick Astley",
"music_video_date": "{ %elif( %contains_url_field( \"date\" ), %get_url_field( \"date\", upload_date_standardized ), %contains_url_field( \"year\" ), %concat( %get_url_field( \"date\", upload_year ), \"-01-01\" ), upload_date_standardized ) }",

View file

@ -59,10 +59,10 @@
"info_json_ext_sanitized": "info.json",
"modified_webpage_url": "{ %map_get( entry_metadata, \"webpage_url\" ) }",
"modified_webpage_url_sanitized": "{ %sanitize( %map_get( entry_metadata, \"webpage_url\" ) ) }",
"music_video_album": "{ %get_url_field( \"category\", music_video_album_default ) }",
"music_video_album": "Music Videos",
"music_video_album_default": "Music Videos",
"music_video_album_default_sanitized": "Music Videos",
"music_video_album_sanitized": "{ %sanitize( %get_url_field( \"category\", music_video_album_default ) ) }",
"music_video_album_sanitized": "Music Videos",
"music_video_artist": "Rick Astley",
"music_video_artist_sanitized": "Rick Astley",
"music_video_date": "{ %elif( %contains_url_field( \"date\" ), %get_url_field( \"date\", upload_date_standardized ), %contains_url_field( \"year\" ), %concat( %get_url_field( \"date\", upload_year ), \"-01-01\" ), upload_date_standardized ) }",

View file

@ -10,7 +10,7 @@
"file_uid": "{ uid_sanitized_plex }",
"include_sibling_metadata": "{ %bool(False) }",
"modified_webpage_url": "{ webpage_url }",
"music_video_album": "{ %get_url_field( \"category\", music_video_album_default ) }",
"music_video_album": "{ %get_url_field( \"category\", \"Music Videos\" ) }",
"music_video_album_default": "Music Videos",
"music_video_artist": "Rick Astley",
"music_video_date": "{ %elif( %contains_url_field( \"date\" ), %get_url_field( \"date\", upload_date_standardized ), %contains_url_field( \"year\" ), %concat( %get_url_field( \"date\", upload_year ), \"-01-01\" ), upload_date_standardized ) }",

View file

@ -59,10 +59,10 @@
"info_json_ext_sanitized": "info.json",
"modified_webpage_url": "{ webpage_url }",
"modified_webpage_url_sanitized": "{ %sanitize( webpage_url ) }",
"music_video_album": "{ %get_url_field( \"category\", music_video_album_default ) }",
"music_video_album": "{ %get_url_field( \"category\", \"Music Videos\" ) }",
"music_video_album_default": "Music Videos",
"music_video_album_default_sanitized": "Music Videos",
"music_video_album_sanitized": "{ %sanitize( %get_url_field( \"category\", music_video_album_default ) ) }",
"music_video_album_sanitized": "{ %sanitize( %get_url_field( \"category\", \"Music Videos\" ) ) }",
"music_video_artist": "Rick Astley",
"music_video_artist_sanitized": "Rick Astley",
"music_video_date": "{ %elif( %contains_url_field( \"date\" ), %get_url_field( \"date\", upload_date_standardized ), %contains_url_field( \"year\" ), %concat( %get_url_field( \"date\", upload_year ), \"-01-01\" ), upload_date_standardized ) }",