@ -593,7 +593,7 @@ The available setting attributes which can be set at each level are outlined bel
show_unconfigured: false
show_unconfigured: false
```
```
??? blank "`show_filtered` - Used to show filtered items.<aclass="headerlink"href="#show-filtered"title="Permanent link">¶</a>"
??? blank "`show_filtered` - Used to show items filtered out.<aclass="headerlink"href="#show-filtered"title="Permanent link">¶</a>"
<divid="show-filtered"/>List all items which have been filtered out of a collection or playlist (i.e. if it
<divid="show-filtered"/>List all items which have been filtered out of a collection or playlist (i.e. if it
doesn't meet the filter criteria)
doesn't meet the filter criteria)
@ -615,6 +615,28 @@ The available setting attributes which can be set at each level are outlined bel
show_filtered: true
show_filtered: true
```
```
??? blank "`show_unfiltered` - Used to show items which make it through filters.<aclass="headerlink"href="#show-unfiltered"title="Permanent link">¶</a>"
<divid="show-unfiltered"/>List all items which have made it through the filters INTO a collection or playlist (i.e. if it
meets the filter criteria)
<hrstyle="margin: 0px;">
**Attribute:**`show_unfiltered`
**Levels with this Attribute:** Global/Library/Collection/Playlist
**Accepted Values:**`true` or `false`
**Default Value:**`false`
???+ example "Example"
```yaml
settings:
show_unfiltered: true
```
??? blank "`show_options` - Used to show attribute options from plex.<aclass="headerlink"href="#show-options"title="Permanent link">¶</a>"
??? blank "`show_options` - Used to show attribute options from plex.<aclass="headerlink"href="#show-options"title="Permanent link">¶</a>"
<divid="show-options"/>While `show_options` is true the available options for an attribute when using
<divid="show-options"/>While `show_options` is true the available options for an attribute when using
Anything that doesn't have either both the Genre `Action` and the Country `Germany` or the Genre `Comedy` and the Country `France` will be ignored.
Anything that doesn't have either both the Genre `Action` and the Country `Germany` or the Genre `Comedy` and the Country `France` will be ignored.
All filter options are listed below. To display items filtered out add `show_filtered: true` to the definition.
All filter options are listed below.
You can use the `plex_all: true` builder to filter from your entire library.
To display items filtered out add `show_filtered: true` to the definition. To display items that make it through the filters add `show_unfiltered: true` to the definition.
???+ warning
Filters can be very slow, particularly on larger libraries. Try to build or narrow your items using a [Smart Label Collection](builders/smart.md#smart-label), [Plex Search](builders/plex.md#plex-search) or another [Builder](overview.md) if possible.
## String Filters
String filters can be used with either no modifier or with `.not`, `.is`, `.isnot`, `.begins`, `.ends`, or `.regex`.
String filters can take multiple values **only as a list**.
| No Modifier | Matches every item where the date attribute is in the last X days | **Format:** number of days<br>e.g. `30` |
| `.not` | Matches every item where the date attribute is not in the last X days | **Format:** number of days<br>e.g. `30` |
| `.before` | Matches every item where the date attribute is before the given date | **Format:** MM/DD/YYYY or `today` for the current day<br>e.g. `01/01/2000` |
| `.after` | Matches every item where the date attribute is after the given date | **Format:** MM/DD/YYYY or `today` for the current day<br>e.g. `01/01/2000` |
| `.regex` | Matches every item where the attribute matches the regex given | N/A |
### Attribute
| Date Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
| No Modifier | Matches every item where the number attribute is equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.not` | Matches every item where the number attribute is not equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.gt` | Matches every item where the number attribute is greater than the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.gte` | Matches every item where the number attribute is greater than or equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.lt` | Matches every item where the number attribute is less than the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.lte` | Matches every item where the number attribute is less than or equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
### Attribute
| Number Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
| `history` | Uses the release date attribute (originally available) to match dates throughout history<br>`day`: Match the Day and Month to Today's Date<br>`month`: Match the Month to Today's Date<br>`1-30`: Match the Day and Month to Today's Date or `1-30` days before Today's Date | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
| `episodes` | Uses the item's episodes attributes to match <br> Use the `percentage` attribute given a number between 0-100 to determine the percentage of an items episodes that must match the sub-filter. | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
| `seasons` | Uses the item's seasons attributes to match <br> Use the `percentage` attribute given a number between 0-100 to determine the percentage of an items seasons that must match the sub-filter. | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
| `tracks` | Uses the item's tracks attributes to match <br> Use the `percentage` attribute given a number between 0-100 to determine the percentage of an items tracks that must match the sub-filter. | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
| `albums` | Uses the item's albums attributes to match <br> Use the `percentage` attribute given a number between 0-100 to determine the percentage of an items albums that must match the sub-filter. | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
| `imdb_keyword`<sup>**[2](#table-annotations)**</sup><sup>**[5](#table-annotations)**</sup> | Uses the keywords from IMDb to match<br>`keywords`: list of keywords to match<br>`minimum_votes`: minimum number of votes keywords must have<br>`minimum_relevant`: minimum number of relevant votes keywords must have<br>`minimum_percentage`: minimum percentage of relevant votes keywords must have | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
## Table Annotations
<sup>**1**</sup> Filters using the special `episodes`/`tracks` [filter](#special-filters) with the [default percent](settings.md).
<sup>**2**</sup> Also filters out missing movies/shows from being added to Radarr/Sonarr. These Values also cannot use the `count` modifiers.
<sup>**3**</sup> You can use `current_year` to have Kometa use the current years value. This can be combined with a `-#` at the end to subtract that number of years. i.e. `current_year-2`
<sup>**4**</sup> The actual numbers are pulled from the [Mediastingers](https://github.com/Kometa-Team/Mediastingers) Repo.
<sup>**5**</sup> Also is a Tag Filter and can use all of those modifiers.
## Collection Filter Examples
A few examples are listed below:
```yaml
collections:
1080p Documentaries:
plex_search:
all:
genre: Documentary
summary: A collection of 1080p Documentaries
filters:
resolution: 1080
```
```yaml
collections:
Daniel Craig only James Bonds:
imdb_list:
list_id: ls006405458
filters:
actor: Daniel Craig
```
```yaml
collections:
French Romance:
plex_search:
all:
genre: Romance
filters:
audio_language: Français
```
```yaml
collections:
Romantic Comedies:
plex_search:
all:
genre: Romance
filters:
genre: Comedy
```
```yaml
collections:
9.0 Movies:
plex_all: true
filters:
user_rating.gte: 9
```
```yaml
collections:
Summer 2020 Movies:
plex_all: true
filters:
release.after: 5/1/2020
release.before: 8/31/2020
```
```yaml
collections:
Movies Released in the Last 180 Days:
plex_all: true
filters:
release: 180
```
```yaml
collections:
Good Adam Sandler Romantic Comedies:
plex_search:
all:
genre: Romance
actor: Adam Sandler
filters:
genre: Comedy
user_rating.gte: 7
```
```yaml
collections:
Movies with Commentary:
plex_all: true
filters:
audio_track_title: Commentary
```
---
## Tag Filters
Tag filters can be used with either no modifier or with `.not`.
Tag filters can take multiple values as a **list or a comma-separated string**.
| No Modifier | Matches every item where the date attribute is in the last X days | **Format:** number of days<br>e.g. `30` |
| `.not` | Matches every item where the date attribute is not in the last X days | **Format:** number of days<br>e.g. `30` |
| `.before` | Matches every item where the date attribute is before the given date | **Format:** MM/DD/YYYY or `today` for the current day<br>e.g. `01/01/2000` |
| `.after` | Matches every item where the date attribute is after the given date | **Format:** MM/DD/YYYY or `today` for the current day<br>e.g. `01/01/2000` |
| `.regex` | Matches every item where the attribute matches the regex given | N/A |
### Attribute
| Date Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
| No Modifier | Matches every item where the number attribute is equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.not` | Matches every item where the number attribute is not equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.gt` | Matches every item where the number attribute is greater than the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.gte` | Matches every item where the number attribute is greater than or equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.lt` | Matches every item where the number attribute is less than the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.lte` | Matches every item where the number attribute is less than or equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
### Attribute
| Number Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
| `history` | Uses the release date attribute (originally available) to match dates throughout history<br>`day`: Match the Day and Month to Today's Date<br>`month`: Match the Month to Today's Date<br>`1-30`: Match the Day and Month to Today's Date or `1-30` days before Today's Date | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
| `episodes` | Uses the item's episodes attributes to match <br> Use the `percentage` attribute given a number between 0-100 to determine the percentage of an items episodes that must match the sub-filter. | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
| `seasons` | Uses the item's seasons attributes to match <br> Use the `percentage` attribute given a number between 0-100 to determine the percentage of an items seasons that must match the sub-filter. | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
| `tracks` | Uses the item's tracks attributes to match <br> Use the `percentage` attribute given a number between 0-100 to determine the percentage of an items tracks that must match the sub-filter. | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
| `albums` | Uses the item's albums attributes to match <br> Use the `percentage` attribute given a number between 0-100 to determine the percentage of an items albums that must match the sub-filter. | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
| `imdb_keyword`<sup>**[2](#table-annotations)**</sup><sup>**[5](#table-annotations)**</sup> | Uses the keywords from IMDb to ---
# Filters
Filters allow for you to filter every item added to the collection/overlay/playlist from every builder using the `filters` attribute.
## Using Filters
Filters cannot do anything alone they require the use of at least one [Builder](builders/overview.md) to function.
You can have multiple filters in each set but an item must match at least one value from **each** filter to not be ignored. The values for each must match what Plex has including special characters in order to match.
```yaml
filters:
genre: Action
country: Germany
```
Anything that doesn't have both the Genre `Action` and the Country `Germany` will be ignored.
Multiple Filter Sets can be given as a list. With multiple sets only one of the sets must pass for the item to not be ignored.
```yaml
filters:
- genre: Action
country: Germany
- genre: Comedy
country: France
```
Anything that doesn't have either both the Genre `Action` and the Country `Germany` or the Genre `Comedy` and the Country `France` will be ignored.
All filter options are listed below. To display items filtered out add `show_filtered: true` to the definition.
You can use the `plex_all: true` builder to filter from your entire library.
You can use the `plex_all: true` builder to filter from your entire library.
@ -66,6 +67,7 @@ All the following attributes serve various functions as how the definition funct
| `missing_only_released` | **Description:** definition Level `missing_only_released` toggle.<br>**Default:** `missing_only_released` [settings value](../config/settings.md) in the Configuration File<br>**Values:** `true` or `false` |
| `missing_only_released` | **Description:** definition Level `missing_only_released` toggle.<br>**Default:** `missing_only_released` [settings value](../config/settings.md) in the Configuration File<br>**Values:** `true` or `false` |
| `only_filter_missing` | **Description:** definition Level `only_filter_missing` toggle.<br>**Default:** `only_filter_missing` [settings value](../config/settings.md) in the Configuration File<br>**Values:** `true` or `false` |
| `only_filter_missing` | **Description:** definition Level `only_filter_missing` toggle.<br>**Default:** `only_filter_missing` [settings value](../config/settings.md) in the Configuration File<br>**Values:** `true` or `false` |
| `show_filtered` | **Description:** definition level `show_filtered` toggle.<br>**Default:** `show_filtered` [settings value](../config/settings.md) in the Configuration File<br>**Values:** `true` or `false` |
| `show_filtered` | **Description:** definition level `show_filtered` toggle.<br>**Default:** `show_filtered` [settings value](../config/settings.md) in the Configuration File<br>**Values:** `true` or `false` |
| `show_unfiltered` | **Description:** definition level `show_unfiltered` toggle.<br>**Default:** `show_unfiltered` [settings value](../config/settings.md) in the Configuration File<br>**Values:** `true` or `false` |
| `show_missing` | **Description:** definition level `show_missing` toggle.<br>**Default:** `show_missing` [settings value](../config/settings.md) in the Configuration File<br>**Values:** `true` or `false` |
| `show_missing` | **Description:** definition level `show_missing` toggle.<br>**Default:** `show_missing` [settings value](../config/settings.md) in the Configuration File<br>**Values:** `true` or `false` |
| `save_report` | **Description:** definition level `save_report` toggle.<br>**Default:** `save_report` [settings value](../config/settings.md) in the Configuration File<br>**Values:** `true` or `false` |
| `save_report` | **Description:** definition level `save_report` toggle.<br>**Default:** `save_report` [settings value](../config/settings.md) in the Configuration File<br>**Values:** `true` or `false` |
| `ignore_ids` | **Description:** definition level `ignore_ids` which is combined with the library and global `ignore_ids`.<br>**Default:** `ignore_ids` [settings value](../config/settings.md) in the Configuration File<br>**Values:** List or comma-separated String of TMDb/TVDb IDs |
| `ignore_ids` | **Description:** definition level `ignore_ids` which is combined with the library and global `ignore_ids`.<br>**Default:** `ignore_ids` [settings value](../config/settings.md) in the Configuration File<br>**Values:** List or comma-separated String of TMDb/TVDb IDs |
"description":"Used to show filtered items.\nList all items which have been filtered out of a collection or playlist (i.e. if it doesn't meet the filter criteria)",
"description":"Used to show filtered items.\nList all items which have been filtered out of a collection or playlist (i.e. if it doesn't meet the filter criteria)",
"type":"boolean"
"type":"boolean"
},
},
"show_unfiltered":{
"description":"Used to show unfiltered items.\nList all items which make it through a filter into a collection or playlist (i.e. if it MEETS the filter criteria)",
"type":"boolean"
},
"show_options":{
"show_options":{
"description":"Used to show attribute options from plex.\nWhile show_options is true the available options for an attribute when using plex_search, smart_filter or filters will be shown. i.e. a smart_filter on the genre attribute will return all of the attributes within the specified library.",
"description":"Used to show attribute options from plex.\nWhile show_options is true the available options for an attribute when using plex_search, smart_filter or filters will be shown. i.e. a smart_filter on the genre attribute will return all of the attributes within the specified library.",