[136] add new label plex_search attributes

pull/1124/head
meisnate12 2 years ago
parent 1c166f8cc5
commit df85da05e7

@ -1 +1 @@
1.17.3-develop135 1.17.3-develop136

@ -215,7 +215,9 @@ Tag search can take multiple values as a **list or a comma-separated string**.
| `decade` | Uses the year tag to match the decade | ✅ | ❌ | ❌ | | `decade` | Uses the year tag to match the decade | ✅ | ❌ | ❌ |
| `director` | Uses the director tags to match | ✅ | ❌ | ❌ | | `director` | Uses the director tags to match | ✅ | ❌ | ❌ |
| `genre` | Uses the genre tags to match | ✅ | ✅ | ❌ | | `genre` | Uses the genre tags to match | ✅ | ✅ | ❌ |
| `label` | Uses the label tags to match | ✅ | ✅ | ❌ | | `label` | Uses the label tags to match for top level collections | ✅ | ✅ | ❌ |
| `season_label` | Uses the label tags to match for season collections | ❌ | ✅ | ❌ |
| `episode_label` | Uses the label tags to match for episode collections | ❌ | ✅ | ❌ |
| `network` | Uses the network tags to match<br>**Only works with the New Plex TV Agent** | &#10060; | &#9989; | &#10060; | | `network` | Uses the network tags to match<br>**Only works with the New Plex TV Agent** | &#10060; | &#9989; | &#10060; |
| `producer` | Uses the actor tags to match | &#9989; | &#10060; | &#10060; | | `producer` | Uses the actor tags to match | &#9989; | &#10060; | &#10060; |
| `resolution` | Uses the resolution tags to match | &#9989; | &#9989; | &#10060; | | `resolution` | Uses the resolution tags to match | &#9989; | &#9989; | &#10060; |
@ -228,6 +230,7 @@ Tag search can take multiple values as a **list or a comma-separated string**.
| `artist_country` | Uses the Artist's Country attribute to match | &#10060; | &#10060; | &#9989; | | `artist_country` | Uses the Artist's Country attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_mood` | Uses the Artist's Mood attribute to match | &#10060; | &#10060; | &#9989; | | `artist_mood` | Uses the Artist's Mood attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_style` | Uses the Artist's Style attribute to match | &#10060; | &#10060; | &#9989; | | `artist_style` | Uses the Artist's Style attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_label` | Uses the Artist's Label attribute to match | &#10060; | &#10060; | &#9989; |
| `album_genre` | Uses the Album's Genre attribute to match | &#10060; | &#10060; | &#9989; | | `album_genre` | Uses the Album's Genre attribute to match | &#10060; | &#10060; | &#9989; |
| `album_mood` | Uses the Album's Mood attribute to match | &#10060; | &#10060; | &#9989; | | `album_mood` | Uses the Album's Mood attribute to match | &#10060; | &#10060; | &#9989; |
| `album_style` | Uses the Album's Style attribute to match | &#10060; | &#10060; | &#9989; | | `album_style` | Uses the Album's Style attribute to match | &#10060; | &#10060; | &#9989; |
@ -238,6 +241,7 @@ Tag search can take multiple values as a **list or a comma-separated string**.
| `album_label` | Uses the Album's Label attribute to match | &#10060; | &#10060; | &#9989; | | `album_label` | Uses the Album's Label attribute to match | &#10060; | &#10060; | &#9989; |
| `track_mood` | Uses the Track's Mood attribute to match | &#10060; | &#10060; | &#9989; | | `track_mood` | Uses the Track's Mood attribute to match | &#10060; | &#10060; | &#9989; |
| `track_source` | Uses the Track's Style attribute to match | &#10060; | &#10060; | &#9989; | | `track_source` | Uses the Track's Style attribute to match | &#10060; | &#10060; | &#9989; |
| `track_label` | Uses the Track's Label attribute to match | &#10060; | &#10060; | &#9989; |
## Date Searches ## Date Searches

@ -156,7 +156,9 @@ Tag filter can take multiple values as a **list or a comma-separated string**.
| `decade` | Uses the year tag to match the decade | &#9989; | &#10060; | &#10060; | | `decade` | Uses the year tag to match the decade | &#9989; | &#10060; | &#10060; |
| `director` | Uses the director tags to match | &#9989; | &#10060; | &#10060; | | `director` | Uses the director tags to match | &#9989; | &#10060; | &#10060; |
| `genre` | Uses the genre tags to match | &#9989; | &#9989; | &#10060; | | `genre` | Uses the genre tags to match | &#9989; | &#9989; | &#10060; |
| `label` | Uses the label tags to match | &#9989; | &#9989; | &#10060; | | `label` | Uses the label tags to match for top level collections | &#9989; | &#9989; | &#10060; |
| `season_label` | Uses the label tags to match for season collections | &#10060; | &#9989; | &#10060; |
| `episode_label` | Uses the label tags to match for episode collections | &#10060; | &#9989; | &#10060; |
| `network` | Uses the network tags to match<br>**Only works with the New Plex TV Agent** | &#10060; | &#9989; | &#10060; | | `network` | Uses the network tags to match<br>**Only works with the New Plex TV Agent** | &#10060; | &#9989; | &#10060; |
| `producer` | Uses the actor tags to match | &#9989; | &#10060; | &#10060; | | `producer` | Uses the actor tags to match | &#9989; | &#10060; | &#10060; |
| `resolution` | Uses the resolution tags to match | &#9989; | &#9989; | &#10060; | | `resolution` | Uses the resolution tags to match | &#9989; | &#9989; | &#10060; |
@ -169,6 +171,7 @@ Tag filter can take multiple values as a **list or a comma-separated string**.
| `artist_country` | Uses the Artist's Country attribute to match | &#10060; | &#10060; | &#9989; | | `artist_country` | Uses the Artist's Country attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_mood` | Uses the Artist's Mood attribute to match | &#10060; | &#10060; | &#9989; | | `artist_mood` | Uses the Artist's Mood attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_style` | Uses the Artist's Style attribute to match | &#10060; | &#10060; | &#9989; | | `artist_style` | Uses the Artist's Style attribute to match | &#10060; | &#10060; | &#9989; |
| `artist_label` | Uses the Artist's Label attribute to match | &#10060; | &#10060; | &#9989; |
| `album_genre` | Uses the Album's Genre attribute to match | &#10060; | &#10060; | &#9989; | | `album_genre` | Uses the Album's Genre attribute to match | &#10060; | &#10060; | &#9989; |
| `album_mood` | Uses the Album's Mood attribute to match | &#10060; | &#10060; | &#9989; | | `album_mood` | Uses the Album's Mood attribute to match | &#10060; | &#10060; | &#9989; |
| `album_style` | Uses the Album's Style attribute to match | &#10060; | &#10060; | &#9989; | | `album_style` | Uses the Album's Style attribute to match | &#10060; | &#10060; | &#9989; |
@ -179,6 +182,7 @@ Tag filter can take multiple values as a **list or a comma-separated string**.
| `album_label` | Uses the Album's Label attribute to match | &#10060; | &#10060; | &#9989; | | `album_label` | Uses the Album's Label attribute to match | &#10060; | &#10060; | &#9989; |
| `track_mood` | Uses the Track's Mood attribute to match | &#10060; | &#10060; | &#9989; | | `track_mood` | Uses the Track's Mood attribute to match | &#10060; | &#10060; | &#9989; |
| `track_source` | Uses the Track's Style attribute to match | &#10060; | &#10060; | &#9989; | | `track_source` | Uses the Track's Style attribute to match | &#10060; | &#10060; | &#9989; |
| `track_label` | Uses the Track's Label attribute to match | &#10060; | &#10060; | &#9989; |
## Date Filters ## Date Filters

@ -1880,7 +1880,6 @@ class CollectionBuilder:
def build_url_arg(arg, mod=None, arg_s=None, mod_s=None): def build_url_arg(arg, mod=None, arg_s=None, mod_s=None):
arg_key = plex.search_translation[attr] if attr in plex.search_translation else attr arg_key = plex.search_translation[attr] if attr in plex.search_translation else attr
arg_key = f"{sort_type}.label" if arg_key == "label" and sort_type in ["season", "episode", "album", "track"] else arg_key
arg_key = plex.show_translation[arg_key] if self.library.is_show and arg_key in plex.show_translation else arg_key arg_key = plex.show_translation[arg_key] if self.library.is_show and arg_key in plex.show_translation else arg_key
if mod is None: if mod is None:
mod = plex.modifier_translation[modifier] if modifier in plex.modifier_translation else modifier mod = plex.modifier_translation[modifier] if modifier in plex.modifier_translation else modifier

@ -51,6 +51,8 @@ search_translation = {
"unplayed_episodes": "show.unwatchedLeaves", "unplayed_episodes": "show.unwatchedLeaves",
"season_collection": "season.collection", "season_collection": "season.collection",
"episode_collection": "episode.collection", "episode_collection": "episode.collection",
"season_label": "season.label",
"episode_label": "episode.label",
"artist_title": "artist.title", "artist_title": "artist.title",
"artist_user_rating": "artist.userRating", "artist_user_rating": "artist.userRating",
"artist_genre": "artist.genre", "artist_genre": "artist.genre",
@ -61,6 +63,7 @@ search_translation = {
"artist_added": "artist.addedAt", "artist_added": "artist.addedAt",
"artist_last_played": "artist.lastViewedAt", "artist_last_played": "artist.lastViewedAt",
"artist_unmatched": "artist.unmatched", "artist_unmatched": "artist.unmatched",
"artist_label": "artist.label",
"album_title": "album.title", "album_title": "album.title",
"album_year": "album.year", "album_year": "album.year",
"album_decade": "album.decade", "album_decade": "album.decade",
@ -90,7 +93,8 @@ search_translation = {
"track_last_rated": "track.lastRatedAt", "track_last_rated": "track.lastRatedAt",
"track_added": "track.addedAt", "track_added": "track.addedAt",
"track_trash": "track.trash", "track_trash": "track.trash",
"track_source": "track.source" "track_source": "track.source",
"track_label": "track.label"
} }
show_translation = { show_translation = {
"title": "show.title", "title": "show.title",
@ -254,6 +258,8 @@ show_only_searches = [
"network", "network.not", "network", "network.not",
"season_collection", "season_collection.not", "season_collection", "season_collection.not",
"episode_collection", "episode_collection.not", "episode_collection", "episode_collection.not",
"season_label", "season_label.not",
"episode_label", "episode_label.not",
"episode_title", "episode_title.not", "episode_title.is", "episode_title.isnot", "episode_title.begins", "episode_title.ends", "episode_title", "episode_title.not", "episode_title.is", "episode_title.isnot", "episode_title.begins", "episode_title.ends",
"episode_added", "episode_added.not", "episode_added.before", "episode_added.after", "episode_added", "episode_added.not", "episode_added.before", "episode_added.after",
"episode_air_date", "episode_air_date.not", "episode_air_date", "episode_air_date.not",
@ -291,8 +297,8 @@ search_display = {"added": "Date Added", "release": "Release Date", "hdr": "HDR"
tag_attributes = [ tag_attributes = [
"actor", "audio_language", "collection", "content_rating", "country", "director", "genre", "label", "network", "actor", "audio_language", "collection", "content_rating", "country", "director", "genre", "label", "network",
"producer", "resolution", "studio", "subtitle_language", "writer", "season_collection", "episode_collection", "edition", "producer", "resolution", "studio", "subtitle_language", "writer", "season_collection", "episode_collection", "edition",
"artist_genre", "artist_collection", "artist_country", "artist_mood", "artist_style", "album_genre", "album_mood", "artist_genre", "artist_collection", "artist_country", "artist_mood", "artist_label", "artist_style", "album_genre", "album_mood",
"album_style", "album_format", "album_type", "album_collection", "album_source", "album_label", "track_mood", "track_source" "album_style", "album_format", "album_type", "album_collection", "album_source", "album_label", "track_mood", "track_source", "track_label"
] ]
tag_modifiers = ["", ".not", ".regex"] tag_modifiers = ["", ".not", ".regex"]
no_not_mods = ["resolution", "decade", "album_decade"] no_not_mods = ["resolution", "decade", "album_decade"]

Loading…
Cancel
Save