Skip to content

Commit

Permalink
Merge branch 'nightly' into 2274-empty-smart-collections-cause-except…
Browse files Browse the repository at this point in the history
…ion-when-evaluating-delete-if-less-condition
  • Loading branch information
chazlarson authored Oct 17, 2024
2 parents 36806dc + b691855 commit c0a4fc6
Show file tree
Hide file tree
Showing 17 changed files with 51 additions and 78 deletions.
45 changes: 5 additions & 40 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,46 +1,11 @@
# Requirements Update (requirements will need to be reinstalled)
Added tenacity requirement at 9.0.0
Update lxml requirement to 5.3.0
Update pathvalidate requirement to 3.2.1
Update pillow requirement to 10.4.0
Update PlexAPI requirement to 4.15.16
Update psutil requirement to 6.0.0
Update setuptools requirement to 74.0.0
Update tmdbapis requirement to 1.2.21

# Removed Features

# New Features
Introducing the [Kometa Blog](https://blog.kometa.wiki) - a new home for all kometa-related news stories, ranging from showcasing our community creations to providing you with important updates.
Added [`letterboxd_user_lists`](https://kometa.wiki/en/latest/files/dynamic_types/#letterboxd-user-lists) Dynamic Collection Type
Added `item_analyze` item detail to analyze each item in a collection

# Updates
F1 session naming improvements
Added new studios : Disney Television Animation, DisneyToon Studios, Dynamic Planning, Film4 Productions, Golden Harvest, Hungry Man, Screen Gems, Shaw Brothers, Studio Live, The Stone Quarry
Added the `character` search option to the `imdb_search` builder

# Defaults
Fixed #2150; change xmen list to a new one
Added `A Quiet Place: Day One` to the `A Quiet Place` collection in the `franchise` Defaults file
Add `minimum_items_<<key>>` to universe Default file
Added workaround to `Streaming` for TMDb issue with TMDb Discover
Fixed incorrect content rating mappings in various Default files

# Bug Fixes
Fixed multiple anime `int()` Errors
Fixed #2100 `verify_ssl` wasn't working when downloading images
Fixed an issue with `delete_collections` where items were being deleted if they only matched one criteria vs all criteria
Fixed `imdb_watchlist`
Fixes #2135 AniDB Builder type conversion error
Fixed #2169 Add handling for blank secrets
Fixed #2176 `clean_bundles`, `optimize`, and `empty_trash` not working as global attributes
Fixed #2186 `total_runtime` will now trigger an overlay update
Fixed #2195 an image on the docs was a dead link
Fixes sort order of resolution collections
Fixes #2228 ".any" not accepted for a variety of imdb_search parameters
Fixes `streaming` defaults adding and removing items randomly
Fixes missing TMDb Discover parameters
Fixes `imdb_chart` error when using `trending_india`
Adds error information to help with #2201
Added warning to TMDb Discover builder regarding ongoing bug with using `popularity.desc` as sort order
Various other Minor Fixes
Fixed the `cast` search option for the `imdb_search` builder
Fixes #2258 `imdb_list` sort was not being parsed correctly
Fixes `letterboxd_list` rating filter to use a 1-10 rating vs 1-100 to reflect how letterboxd ratings work on their website
Fixes #2274 Enhance handling of smart collections in deletion
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.1.0
2.1.0-build4
2 changes: 1 addition & 1 deletion defaults/both/content_rating_au.yml
Original file line number Diff line number Diff line change
Expand Up @@ -141,13 +141,13 @@ dynamic_collections:
- R - 17+ (violence & profanity)
- no/18
- R18
- gb/R18
- gb/X
- X
- NC-17
- R+ - Mild Nudity
- Rx - Hentai
X18+:
- gb/R18
- au/X 18+
- de/BPjM Restricted
- BPjM Restricted
4 changes: 2 additions & 2 deletions defaults/both/content_rating_uk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -144,12 +144,12 @@ dynamic_collections:
- R
- 16
- 17
- NC-17
- R - 17+ (violence & profanity)
- gb/X
- no/18
R18:
- gb/R18
- gb/X
- X
- NC-17
- R+ - Mild Nudity
- Rx - Hentai
4 changes: 2 additions & 2 deletions defaults/overlays/content_rating_au.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,12 +69,12 @@ overlays:
r:
template:
- name: standard
- {name: cr_au, rating: "au/R 18+, de/18, gb/18, M, 18, R - 17+ (violence & profanity), no/18, R18, gb/R18, gb/X, X, NC-17, R+ - Mild Nudity, Rx - Hentai"}
- {name: cr_au, rating: "au/R 18+, de/18, gb/18, M, 18, R - 17+ (violence & profanity), no/18, R18, gb/X, X, NC-17, R+ - Mild Nudity, Rx - Hentai"}

x:
template:
- name: standard
- {name: cr_au, rating: "au/X 18+, de/BPjM Restricted, BPjM Restricted"}
- {name: cr_au, rating: "au/X 18+, de/BPjM Restricted, BPjM Restricted, gb/R18"}
nr:
template:
- {name: standard, key: nr}
Expand Down
4 changes: 2 additions & 2 deletions defaults/overlays/content_rating_uk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,12 +73,12 @@ overlays:
18:
template:
- name: standard
- {name: cr_uk, rating: "gb/18, gb/18+, MA-17, TVMA, TV-MA, R, 16, 17, 18, R - 17+ (violence & profanity), no/18"}
- {name: cr_uk, rating: "gb/18, gb/18+, MA-17, TVMA, TV-MA, R, 16, 17, NC-17, 18, R - 17+ (violence & profanity), no/18, gb/X"}

r18:
template:
- name: standard
- {name: cr_uk, rating: "R18, gb/R18, gb/X, X, NC-17, R+ - Mild Nudity, Rx - Hentai"}
- {name: cr_uk, rating: "R18, gb/R18, X, R+ - Mild Nudity, Rx - Hentai"}

nr:
template:
Expand Down
2 changes: 1 addition & 1 deletion docs/defaults/movie/seasonal.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ work. Any value not specified will use its default value if it has one if not it
apes: Planet of the Apes Day #(4)!
schedule_apes: range(11/24-11/26) #(5)!
imdb_list_apes: https://www.imdb.com/list/ls005126084/ #(6)!
emoji_veteran: "🐵 " #(7)!
emoji_apes: "🐵 " #(7)!
```

1. Do not create the "Independence Day" collection
Expand Down
1 change: 1 addition & 0 deletions docs/files/builders/imdb.md
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,7 @@ The `sync_mode: sync` and `collection_order: custom` Setting are recommended sin
| `cast` | Item must have all the given cast members. Can be a comma-separated list.<br>**Options:** Any IMDb Person ID (ex. `nm0000138`) |
| `cast.any` | Item must have any of the given cast members. Can be a comma-separated list.<br>**Options:** Any IMDb Person ID (ex. `nm0000138`) |
| `cast.not` | Item must not have any of the given cast members. Can be a comma-separated list.<br>**Options:** Any IMDb Person ID (ex. `nm0000138`) |
| `character` | Item must have any of the given character listed in its credits. Can be a comma-separated list.<br>**Options:** Any String |
| `runtime.gte` | Item must have a Runtime greater than or equal to the given number.<br>**Options:** Any Integer greater than `0`<br>**Example:** `1000` |
| `runtime.lte` | Item must have a Runtime less than or equal to the given number.<br>**Options:** Any Integer greater than `0`<br>**Example:** `1000` |
| `adult` | Include adult titles in the search results.<br>**Options:** `true`/`false` |
Expand Down
18 changes: 10 additions & 8 deletions docs/files/builders/letterboxd.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,16 @@ collections:

You can add different filters directly to this builder.

| Filter Attribute | Description |
|:---------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `limit` | **Description:** Max number of items per returned.<br>**Values:** number greater than `1` |
| `rating`<sup>1</sup> | **Description:** Search for the specified rating range. The rating is the list owner's rating not site wide rating.<br>**Values:** range of int i.e. `80-100` |
| `year`<sup>1</sup> | **Description:** Search for the specified year range.<br>**Values:** range of int i.e. `1990-1999` |
| `note`<sup>1</sup> | **Description:** Search for the specified value in the note. The note is the list owner's note not site wide note.<br>**Values:** Any String |
| Filter Attribute | Description |
|:---------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `limit` | **Description:** Max number of items per returned.<br>**Values:** number greater than `1` |
| `rating`<sup>1</sup> | **Description:** Search for the specified rating range. The rating is the list owner's rating not site wide rating.<br>**Values:** range of int i.e. `8-10` (convert Letterboxd stars to a 10 point scale) |
| `year`<sup>1</sup> | **Description:** Search for the specified year range.<br>**Values:** range of int i.e. `1990-1999` |
| `note`<sup>2</sup> | **Description:** Search for the specified value in the note. The note is the list owner's note not site wide note.<br>**Values:** Any String |

<sup>1</sup> These filters only work if the URL is to the List View of the Letterboxd list. (i.e. it should have `/detail/` in the url)
<sup>1</sup> These filters only work if the URL is to the List View of the Letterboxd list (i.e. it should have `/detail/` in the url) or to an account's Reviews (i.e. it should have `/USERNAME/films/reviews/` in the url)

<sup>2</sup> This filters only work if the URL is to the List View of the Letterboxd list. (i.e. it should have `/detail/` in the url)

```yaml
collections:
Expand All @@ -57,4 +59,4 @@ collections:
year: 1990-1999
collection_order: custom
sync_mode: sync
```
```
7 changes: 0 additions & 7 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,5 @@
#

<style>
.md-typeset h1,
.md-content__button {
display: none;
}
</style>

<center>
![Logo](assets/logo-full.png)

Expand Down
8 changes: 4 additions & 4 deletions docs/kometa/environmental.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,18 +55,18 @@ different ways to specify these things.

**Accepted Values:** Path to YAML config file

**Shell Flags:** `-c` or `--config` (ex. `--config /data/config.yml`)
**Shell Flags:** `-c` or `--config` (ex. `--config /some/path/to/your-config-file.yml`)

**Environment Variable:** `KOMETA_CONFIG` (ex. `KOMETA_CONFIG=/data/config.yml`)
**Environment Variable:** `KOMETA_CONFIG` (ex. `KOMETA_CONFIG=/some/path/to/your-config-file.yml`)

!!! example
=== "Local Environment"
```
python kometa.py --config /data/config.yml
python kometa.py --config /some/path/to/your-config-file.yml
```
=== "Docker Environment"
```
docker run -it -v "X:\Media\Kometa\config:/config:rw" kometateam/kometa --config /data/config.yml
docker run -it -v "X:\Media\Kometa\config:/config:rw" -v "Z:\some\path:/data:rw" kometateam/kometa --config /data/your-config-file.yml
```

??? blank "Time to Run&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`-t`/`--times`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`KOMETA_TIMES`<a class="headerlink" href="#times" title="Permanent link">¶</a>"
Expand Down
4 changes: 4 additions & 0 deletions docs/stylesheets/extra.css
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@
--md-code-hl-comment-color: #8b949e;
}

.md-content h1, .md-content__button {
display: none;
}

table tr td code {
white-space: pre;
}
Expand Down
4 changes: 2 additions & 2 deletions json-schema/config-schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -954,7 +954,7 @@
"properties": {
"pmm": {
"type": "string",
"enum": ["actor", "anilist","aspect","audio_language","bafta","based","basic","berlinale","cannes","cesar","choice","collectionless","content_rating_au","content_rating_cs","content_rating_de","content_rating_nz","content_rating_mal","content_rating_uk","content_rating_us","continent","country","decade","director","emmy","flixpatrol","franchise","genre","golden","imdb","myanimelist","network","nfr","oscars","other_chart","pca","producer","razzie","region","resolution","sag","seasonal","separator_award","separator_chart","spirit","streaming","studio","subtitle_language","sundance","tautulli","tiff","tmdb","trakt","universe","venice","writer","year"]
"enum": ["actor", "anilist","aspect","audio_language","bafta","based","basic","berlinale","cannes","cesar","choice","collectionless","content_rating_au","content_rating_cs","content_rating_de","content_rating_nz","content_rating_mal","content_rating_uk","content_rating_us","continent","country","decade","director","emmy","flixpatrol","franchise","genre","golden","imdb","letterboxd","myanimelist","network","nfr","oscars","other_chart","pca","producer","razzie","region","resolution","sag","seasonal","separator_award","separator_chart","spirit","streaming","studio","subtitle_language","sundance","tautulli","tiff","tmdb","trakt","universe","venice","writer","year"]
},
"schedule": {
"type": "string"
Expand All @@ -979,7 +979,7 @@
"properties": {
"default": {
"type": "string",
"enum": ["actor", "anilist","aspect","audio_language","bafta","based","basic","berlinale","cannes","cesar","choice","collectionless","content_rating_au","content_rating_cs","content_rating_de","content_rating_nz","content_rating_mal","content_rating_uk","content_rating_us","continent","country","decade","director","emmy","flixpatrol","franchise","genre","golden","imdb","myanimelist","network","nfr","oscars","other_chart","pca","producer","razzie","region","resolution","sag","seasonal","separator_award","separator_chart","spirit","streaming","studio","subtitle_language","sundance","tautulli","tiff","tmdb","trakt","universe","venice","writer","year"]
"enum": ["actor", "anilist","aspect","audio_language","bafta","based","basic","berlinale","cannes","cesar","choice","collectionless","content_rating_au","content_rating_cs","content_rating_de","content_rating_nz","content_rating_mal","content_rating_uk","content_rating_us","continent","country","decade","director","emmy","flixpatrol","franchise","genre","golden","imdb","letterboxd","myanimelist","network","nfr","oscars","other_chart","pca","producer","razzie","region","resolution","sag","seasonal","separator_award","separator_chart","spirit","streaming","studio","subtitle_language","sundance","tautulli","tiff","tmdb","trakt","universe","venice","writer","year"]
},
"schedule": {
"type": "string"
Expand Down
4 changes: 4 additions & 0 deletions json-schema/kitchen_sink_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ libraries:
collection_files: # These files contain collections: and/or dynamic_collections attributes
- default: based # collections based on a book, comic, story, video game
# - file: config/metadata/overlay_label.yml # Creates collection of all items with an Overlay label (Testing only)
- default: letterboxd # 16 possible collections based on Letterboxd
- default: aspect # Creates collections based on aspect ratio of media item
- git: bullmoose20/movies_refresh # tells plex to refresh media items added within the last 7 days
- default: separator_award # An "index card"
Expand Down Expand Up @@ -101,6 +102,7 @@ libraries:
- default: separator_chart # An "index card"
- default: anilist # AniDB Charts (Popular, Trending, etc.)
- default: imdb # IMDb Charts (Popular, Trending, etc.)
- default: letterboxd # Letterboxd charts/collections
- default: myanimelist # MAL Charts (Popular, Trending, etc.)
- default: other_chart # Other Charts (Popular, Trending, etc.)
- default: tautulli # Tautulli Charts (Popular, Trending, etc.)
Expand Down Expand Up @@ -384,6 +386,7 @@ libraries:
- git: bullmoose20/money_heist # Custom metadata file for Money Heist
collection_files: # These files contain collections: and/or dynamic_collections attributes
- default: based # collections based on a book, comic, story, video game
- default: letterboxd # 16 possible collections based on Letterboxd
# - file: config/metadata/overlay_label.yml # Creates collection of all items with an Overlay label (Testing only)
- default: aspect # Creates collections based on aspect ratio of media item
- git: bullmoose20/tv_refresh # Tells plex to refresh media items added within the last 7 days
Expand All @@ -407,6 +410,7 @@ libraries:
- default: separator_chart # An "index card"
- default: anilist # AniDB Charts (Popular, Trending, etc.)
- default: imdb # IMDb Charts (Popular, Trending, etc.)
- default: letterboxd # Letterboxd charts/collections
- default: myanimelist # MAL Charts (Popular, Trending, etc.)
- default: other_chart # Other Charts (Popular, Trending, etc.)
- default: tautulli # Tautulli Charts (Popular, Trending, etc.)
Expand Down
2 changes: 1 addition & 1 deletion modules/builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -1629,7 +1629,7 @@ def _imdb(self, method_name, method_data):
countries.append(str(country))
if countries:
new_dictionary[lower_method] = countries
elif search_attr in ["keyword", "language", "alternate_version", "crazy_credit", "location", "goof", "plot", "quote", "soundtrack", "trivia"]:
elif search_attr in ["keyword", "language", "alternate_version", "crazy_credit", "location", "goof", "plot", "quote", "soundtrack", "trivia", "character"]:
new_dictionary[lower_method] = util.parse(self.Type, search_method, search_data, datatype="lowerlist", parent=method_name)
elif search_attr == "cast":
casts = []
Expand Down
Loading

0 comments on commit c0a4fc6

Please sign in to comment.