# Requirements Update (requirements will need to be reinstalled)
# Requirements Update (requirements will need to be reinstalled)
Updated PlexAPI requirement to 4.15.13
Updated PlexAPI requirement to 4.15.13
Update lxml requirement to 5.2.2
Update requests requirement to 2.32.3
Update schedule requirement to 1.2.2
Update setuptools requirement to 70.0.0
# Removed Features
# Removed Features
@ -7,6 +11,8 @@ Updated PlexAPI requirement to 4.15.13
Checks requirement versions to print a message if one needs to be updated
Checks requirement versions to print a message if one needs to be updated
Added the `mass_added_at_update` operation to mass set the Added At field of Movies and Shows.
Added the `mass_added_at_update` operation to mass set the Added At field of Movies and Shows.
Add automated Anime Aggregations for AniDB matching
Add automated Anime Aggregations for AniDB matching
Added `top_tamil`, `top_telugu`, `top_malayalam`, `trending_india`, `trending_tamil`, and `trending_telugu` as options for `imdb_chart`
Adds the `sort_by` attribute to `imdb_list`
# Updates
# Updates
Changed the `overlay_artwork_filetype` Setting to accept `webp_lossy` and `webp_lossless` while the old attribute `webp` will be treated as `webp_lossy`.
Changed the `overlay_artwork_filetype` Setting to accept `webp_lossy` and `webp_lossless` while the old attribute `webp` will be treated as `webp_lossy`.
| `list_id` | Specify the IMDb List ID. **This attribute is required.**<br>**Options:** The ID that starts with `ls` found in the URL of the list. (ex. `ls005526372`) |
| `limit` | Specify how items you want returned by the query.<br>**Options:** Any Integer `0` or greater where `0` get all items.<br>**Default:** `0` |
| `sort_by` | Choose from one of the many available sort options.<br>**Options:** `custom.asc`, `custom.desc`, `title.asc`, `title.desc`, `rating.asc`, `rating.desc`, `popularity.asc`, `popularity.desc`, `votes.asc`, `votes.desc`, `release.asc`, `release.desc`, `runtime.asc`, `runtime.desc`, `added.asc`, `added.desc`<br>**Default:** `custom.asc` |
Multiple values are supported as a list only a comma-separated string will not work.
The `sync_mode: sync` and `collection_order: custom` Setting are recommended since the lists are continuously updated and in a specific order.
The `sync_mode: sync` and `collection_order: custom` Setting are recommended since the lists are continuously updated and in a specific order.
```yaml
```yaml
collections:
collections:
James Bonds:
James Bonds:
imdb_list: https://www.imdb.com/list/ls006405458
imdb_list:
list_id: ls006405458
limit: 100
sort_by: rating.asc
collection_order: custom
collection_order: custom
sync_mode: sync
sync_mode: sync
```
```
You can also limit the number of items to search for by using the `limit` and `url` parameters under `imdb_list`.
You can search multiple lists in one collection by using a list.
```yaml
```yaml
collections:
collections:
Christmas:
Christmas:
imdb_list:
imdb_list:
- url: https://www.imdb.com/list/ls025976544/
- list_id: ls025976544
limit: 10
limit: 10
- url: https://www.imdb.com/list/ls003863000/
sort_by: rating.asc
- list_id: ls003863000
limit: 10
limit: 10
- url: https://www.imdb.com/list/ls027454200/
sort_by: rating.asc
- list_id: ls027454200
limit: 10
limit: 10
- url: https://www.imdb.com/list/ls027886673/
sort_by: rating.asc
- list_id: ls027886673
limit: 10
limit: 10
- url: https://www.imdb.com/list/ls097998599/
sort_by: rating.asc
- list_id: ls097998599
limit: 10
limit: 10
sort_by: rating.asc
sync_mode: sync
sync_mode: sync
collection_order: alpha
collection_order: alpha
```
```
@ -184,7 +204,7 @@ The `sync_mode: sync` and `collection_order: custom` Setting are recommended sin
| `limit` | Specify how items you want returned by the query.<br>**Options:** Any Integer greater than `0`<br>**Default:** `100` |
| `limit` | Specify how items you want returned by the query.<br>**Options:** Any Integer `0` or greater where `0` get all items.<br>**Default:** `100` |
| `sort_by` | Choose from one of the many available sort options.<br>**Options:** `popularity.asc`, `popularity.desc`, `title.asc`, `title.desc`, `rating.asc`, `rating.desc`, `votes.asc`, `votes.desc`, `box_office.asc`, `box_office.desc`, `runtime.asc`, `runtime.desc`, `year.asc`, `year.desc`, `release.asc`, `release.desc`<br>**Default:** `popularity.asc` |
| `sort_by` | Choose from one of the many available sort options.<br>**Options:** `popularity.asc`, `popularity.desc`, `title.asc`, `title.desc`, `rating.asc`, `rating.desc`, `votes.asc`, `votes.desc`, `box_office.asc`, `box_office.desc`, `runtime.asc`, `runtime.desc`, `year.asc`, `year.desc`, `release.asc`, `release.desc`<br>**Default:** `popularity.asc` |
| `title` | Search by title name.<br>**Options:** Any String |
| `title` | Search by title name.<br>**Options:** Any String |
| `type` | Item must match at least one given type. Can be a comma-separated list.<br>**Options:** `movie`, `tv_series`, `short`, `tv_episode`, `tv_mini_series`, `tv_movie`, `tv_special`, `tv_short`, `video_game`, `video`, `music_video`, `podcast_series`, `podcast_episode` |
| `type` | Item must match at least one given type. Can be a comma-separated list.<br>**Options:** `movie`, `tv_series`, `short`, `tv_episode`, `tv_mini_series`, `tv_movie`, `tv_special`, `tv_short`, `video_game`, `video`, `music_video`, `podcast_series`, `podcast_episode` |
raiseFailed("IMDb Error: URLs with https://www.imdb.com/filmosearch/ no longer works with imdb_list use imdb_search.")
raiseFailed("IMDb Error: URLs with https://www.imdb.com/filmosearch/ no longer works with imdb_list use imdb_search.")
ifnotimdb_url.startswith(list_url):
search=re.search(r"(ls\d+)",imdb_url)
raiseFailed(f"IMDb Error: imdb_list URLs must begin with {list_url}")
ifnotsearch:
self._total(imdb_url,language)
raiseFailed("IMDb Error: imdb_list list_id must begin with ls (ex. ls005526372)")
list_count=None
new_dict={"list_id":search.group(1)}
if"limit"indict_methods:
if"limit"indict_methods:
ifimdb_dict[dict_methods["limit"]]isNone:
ifimdb_dict[dict_methods["limit"]]isNone:
logger.warning(f"{err_type} Warning: imdb_list limit attribute is blank using 0 as default")
logger.warning(f"{err_type} Warning: imdb_list limit attribute is blank using 0 as default")
@ -160,14 +207,18 @@ class IMDb:
try:
try:
value=int(str(imdb_dict[dict_methods["limit"]]))
value=int(str(imdb_dict[dict_methods["limit"]]))
if0<=value:
if0<=value:
list_count=value
new_dict["limit"]=value
exceptValueError:
exceptValueError:
pass
pass
iflist_countisNone:
if"limit"notinnew_dict:
logger.warning(f"{err_type} Warning: imdb_list limit attribute must be an integer 0 or greater using 0 as default")
logger.warning(f"{err_type} Warning: imdb_list limit attribute: {imdb_dict[dict_methods['limit']]} must be an integer 0 or greater using 0 as default")