mirror of
https://github.com/meisnate12/Plex-Meta-Manager
synced 2024-11-24 21:43:07 +00:00
[35] remove flixpatrol
This commit is contained in:
parent
1fa23ab411
commit
4c902f929c
26 changed files with 30 additions and 538 deletions
|
@ -4,6 +4,9 @@ Updated plexapi requirement to 4.5.10
|
|||
Updated setuptools requirement to 69.1.1
|
||||
Updated tmdbapis requirement to 1.2.7
|
||||
|
||||
# Removed Features
|
||||
Due to FlixPatrol moving a lot of their data behind a paywall and them reworking their pages to remove IMDb IDs and TMDb IDs the flixpatrol builders and default files have been removed. There currently are no plans to re-add them.
|
||||
|
||||
# New Features
|
||||
Added `monitor_existing` to sonarr and radarr. To update the monitored status of items existing in plex to match the `monitor` declared.
|
||||
Added [Gotify](https://gotify.net/) as a notification service. Thanks @krstn420 for the initial code.
|
||||
|
@ -19,6 +22,7 @@ Mass Update operations now can be given a list of sources to fall back on when o
|
|||
`mass_originally_available_update` has a new source `mdb_digital`
|
||||
`plex` attributes `clean_bundles`, `empty_trash`, and `optimize` can now take any schedule options to be run only when desired.
|
||||
Allows users to use the Admin username when specifying playlist users. Thanks @benbou8231!
|
||||
Allows `verify_ssl` to be set specifically for plex. Thanks @FestiveKyle!
|
||||
|
||||
# Defaults
|
||||
|
||||
|
@ -31,5 +35,6 @@ Fixed `trakt_userlist`
|
|||
Fixed an issue where sometimes the resolution default overlay would be off center
|
||||
Fixed multiple issues with playlist deletion. Thanks @benbou8231!
|
||||
Fixed an issue where dynamic collection errors would sometimes appear before the title of the Dynamic Collection.
|
||||
Fix IMDb Null issue
|
||||
|
||||
Various other Minor Fixes
|
||||
|
|
|
@ -30,7 +30,7 @@ Transform your media library with Plex Meta Manager and discover its full potent
|
|||
|
||||
### Third-Party Integrations
|
||||
|
||||
- Harness the power of Trakt, TMDb, IMDb, Flixpatrol and more to create collections and overlays!
|
||||
- Harness the power of Trakt, TMDb, IMDb and more to create collections and overlays!
|
||||
- Integrate with Sonarr and Radarr to automate your library growth.
|
||||
|
||||
### And More!
|
||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
1.20.0-develop34
|
||||
1.20.0-develop35
|
||||
|
|
|
@ -89,7 +89,7 @@ plex: # Can be individually specified per library as
|
|||
clean_bundles: false
|
||||
empty_trash: false
|
||||
optimize: false
|
||||
verify_ssl: true
|
||||
verify_ssl:
|
||||
tmdb: # REQUIRED for the script to run
|
||||
apikey: ################################
|
||||
language: en
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
##############################################################################
|
||||
# FlixPatrol Charts Collections #
|
||||
# Created by Yozora, Bullmoose20, anon_fawkes, & Sohjiro #
|
||||
# EDITING THIS FILE MAY CAUSE PULLING NEW UPDATES TO FAIL #
|
||||
# https://metamanager.wiki/en/latest/defaults/chart/flixpatrol #
|
||||
##############################################################################
|
||||
|
||||
external_templates:
|
||||
pmm: templates
|
||||
template_variables:
|
||||
collection_section: "020"
|
||||
pre: "_#"
|
||||
|
||||
templates:
|
||||
flixpatrol:
|
||||
default:
|
||||
location: world
|
||||
location_<<key>>: <<location>>
|
||||
in_the_last: 1
|
||||
in_the_last_<<key>>: <<in_the_last>>
|
||||
limit: 10
|
||||
limit_<<key>>: <<limit>>
|
||||
conditionals:
|
||||
actual_location:
|
||||
default: <<location_<<key>>>>
|
||||
conditions:
|
||||
- key: apple
|
||||
value: world
|
||||
limit: <<limit>>
|
||||
flixpatrol_top:
|
||||
platform: <<platform>>
|
||||
location: <<actual_location>>
|
||||
in_the_last: <<in_the_last_<<key>>>>
|
||||
limit: <<limit_<<key>>>>
|
||||
|
||||
dynamic_collections:
|
||||
FlixPatrol:
|
||||
type: custom
|
||||
data:
|
||||
netflix: Netflix
|
||||
disney: Disney+
|
||||
max: Max
|
||||
hulu: Hulu
|
||||
paramount: Paramount+
|
||||
prime: Prime Video
|
||||
apple: Apple TV+
|
||||
title_format: <<key_name>> Top <<limit>>
|
||||
template:
|
||||
- flixpatrol
|
||||
- shared
|
||||
- arr
|
||||
- custom
|
||||
template_variables:
|
||||
limit:
|
||||
default: 10
|
||||
platform:
|
||||
default: <<key>>
|
||||
max: hbo
|
||||
paramount: paramount_plus
|
||||
prime: amazon_prime
|
||||
apple: apple_tv
|
||||
image:
|
||||
default: chart/<<key>>_top
|
||||
translation_key:
|
||||
default: flixpatrol
|
||||
dynamic:
|
||||
default: true
|
|
@ -1,104 +0,0 @@
|
|||
##############################################################################
|
||||
# FlixPatrol Overlays #
|
||||
# Created by Yozora, Bullmoose20, anon_fawkes, & Sohjiro #
|
||||
# EDITING THIS FILE MAY CAUSE PULLING NEW UPDATES TO FAIL #
|
||||
# https://metamanager.wiki/en/latest/defaults/overlays/flixpatrol #
|
||||
##############################################################################
|
||||
|
||||
external_templates:
|
||||
pmm: templates
|
||||
template_variables:
|
||||
default:
|
||||
pre_text: TOP
|
||||
style: round
|
||||
limit: 10
|
||||
limit_<<key>>: <<limit>>
|
||||
conditionals:
|
||||
pmm:
|
||||
conditions:
|
||||
- file.exists: false
|
||||
file_<<key>>.exists: false
|
||||
url.exists: false
|
||||
url_<<key>>.exists: false
|
||||
git.exists: false
|
||||
git_<<key>>.exists: false
|
||||
repo.exists: false
|
||||
repo_<<key>>.exists: false
|
||||
value: logo/<<style>>/<<key>>
|
||||
queue: position
|
||||
back_color: "#00000099"
|
||||
back_width: 160
|
||||
back_height: 160
|
||||
font_size: 50
|
||||
addon_position: top
|
||||
addon_offset: 30
|
||||
back_padding: 15
|
||||
final_name: text(<<pre_text>><<limit_<<key>>>>)
|
||||
|
||||
queues:
|
||||
position:
|
||||
default:
|
||||
horizontal_offset: 30
|
||||
vertical_offset: 465
|
||||
vertical_align: top
|
||||
right:
|
||||
- horizontal_align: right
|
||||
- vertical_offset: 670
|
||||
- vertical_offset: 875
|
||||
left:
|
||||
- horizontal_align: left
|
||||
- vertical_offset: 670
|
||||
- vertical_offset: 875
|
||||
|
||||
templates:
|
||||
flixpatrol:
|
||||
default:
|
||||
slug: <<key>>
|
||||
location: world
|
||||
location_<<key>>: <<location>>
|
||||
in_the_last: 1
|
||||
in_the_last_<<key>>: <<in_the_last>>
|
||||
limit: 10
|
||||
limit_<<key>>: <<limit>>
|
||||
conditionals:
|
||||
actual_location:
|
||||
default: <<location_<<key>>>>
|
||||
conditions:
|
||||
- key: apple
|
||||
value: world
|
||||
ignore_blank_results: true
|
||||
flixpatrol_top:
|
||||
platform: <<slug>>
|
||||
location: <<actual_location>>
|
||||
in_the_last: <<in_the_last_<<key>>>>
|
||||
limit: <<limit_<<key>>>>
|
||||
|
||||
overlays:
|
||||
|
||||
Netflix:
|
||||
variables: {key: netflix, weight: 60}
|
||||
template: [name: standard, name: flixpatrol]
|
||||
|
||||
Disney:
|
||||
variables: {key: disney, weight: 50}
|
||||
template: [name: standard, name: flixpatrol]
|
||||
|
||||
Max:
|
||||
variables: {key: max, weight: 40, slug: hbo}
|
||||
template: [name: standard, name: flixpatrol]
|
||||
|
||||
Hulu:
|
||||
variables: {key: hulu, weight: 30}
|
||||
template: [name: standard, name: flixpatrol]
|
||||
|
||||
Paramount:
|
||||
variables: {key: paramount, weight: 20, slug: paramount_plus}
|
||||
template: [name: standard, name: flixpatrol]
|
||||
|
||||
Prime:
|
||||
variables: {key: prime, weight: 10, slug: amazon_prime}
|
||||
template: [name: standard, name: flixpatrol]
|
||||
|
||||
Apple:
|
||||
variables: {key: apple, weight: 9, slug: apple_tv}
|
||||
template: [name: standard, name: flixpatrol]
|
|
@ -20,6 +20,7 @@ plex:
|
|||
clean_bundles: true
|
||||
empty_trash: true
|
||||
optimize: false
|
||||
verify_ssl:
|
||||
```
|
||||
|
||||
| Attribute | Allowed Values | Default | Required |
|
||||
|
@ -31,6 +32,7 @@ plex:
|
|||
| `clean_bundles` | Runs Clean Bundles on the Server after all Collection Files are run<br>(`true`, `false` or Any [schedule option](schedule.md)) | false | :fontawesome-solid-circle-xmark:{ .red } |
|
||||
| `empty_trash` | Runs Empty Trash on the Server after all Collection Files are run<br>(`true`, `false` or Any [schedule option](schedule.md)) | false | :fontawesome-solid-circle-xmark:{ .red } |
|
||||
| `optimize` | Runs Optimize on the Server after all Collection Files are run<br>(`true`, `false` or Any [schedule option](schedule.md)) | false | :fontawesome-solid-circle-xmark:{ .red } |
|
||||
| `verify_ssl` | Turns SSL verification on/off for only Plex | None | :fontawesome-solid-circle-xmark:{ .red } |
|
||||
|
||||
???+ warning
|
||||
|
||||
|
|
|
@ -1,94 +0,0 @@
|
|||
# FlixPatrol Charts Collections
|
||||
|
||||
The `flixpatrol` Default Collection File is used to create collections based on FlixPatrol Charts.
|
||||
|
||||
![](../images/flixpatrol.png)
|
||||
|
||||
## Requirements & Recommendations
|
||||
|
||||
Supported Library Types: Movie, Show
|
||||
|
||||
## Collections Section 020
|
||||
|
||||
| Collection | Key | Description |
|
||||
|:----------------------------------|:------------|:---------------------------------------------------------------------------|
|
||||
| `Netflix Top 10 Movies/Shows` | `netflix` | Collection of the Top Movies/Shows on Netflix according to FlixPatrol. |
|
||||
| `Disney+ Top 10 Movies/Shows` | `disney` | Collection of the Top Movies/Shows on Disney+ according to FlixPatrol. |
|
||||
| `MAX Top 10 Movies/Shows` | `max` | Collection of the Top Movies/Shows on MAX according to FlixPatrol. |
|
||||
| `Hulu Top 10 Movies/Shows` | `hulu` | Collection of the Top Movies/Shows on Hulu according to FlixPatrol. |
|
||||
| `Paramount+ Top 10 Movies/Shows` | `paramount` | Collection of the Top Movies/Shows on Paramount+ according to FlixPatrol. |
|
||||
| `Prime Video Top 10 Movies/Shows` | `prime` | Collection of the Top Movies/Shows on Prime Video according to FlixPatrol. |
|
||||
| `Apple+ Top 10 Movies/Shows` | `apple` | Collection of the Top Movies/Shows on Apple+ according to FlixPatrol. |
|
||||
|
||||
## Config
|
||||
|
||||
The below YAML in your config.yml will create the collections:
|
||||
|
||||
```yaml
|
||||
libraries:
|
||||
Movies:
|
||||
collection_files:
|
||||
- pmm: flixpatrol
|
||||
TV Shows:
|
||||
collection_files:
|
||||
- pmm: flixpatrol
|
||||
```
|
||||
|
||||
## Template Variables
|
||||
|
||||
Template Variables can be used to manipulate the file in various ways to slightly change how it works without having to
|
||||
make your own local copy.
|
||||
|
||||
Note that the `template_variables:` section only needs to be used if you do want to actually change how the defaults
|
||||
work. Any value not specified will use its default value if it has one if not it's just ignored.
|
||||
|
||||
??? abstract "Variable Lists (click to expand)"
|
||||
|
||||
* **File-Specific Template Variables** are variables available specifically for this PMM Defaults file.
|
||||
|
||||
* **Shared Template Variables** are additional variables shared across the PMM Defaults.
|
||||
|
||||
???+ warning
|
||||
|
||||
Due to Flixpatrol data limitations, Apple TV only works with the `world` location. If you set a country-specific location, Apple TV will fall-back to using the `world` location.
|
||||
|
||||
=== "File-Specific Template Variables"
|
||||
|
||||
| Variable | Description & Values |
|
||||
|:---------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `limit` | **Description:** Changes the Builder Limit for all collections in a Defaults file.<br>**Default:** `10`<br>**Values:** Any Number 1-10 |
|
||||
| `limit_<<key>>`<sup>1</sup> | **Description:** Changes the Builder Limit of the specified key's collection.<br>**Default:** `limit`<br>**Values:** Any Number 1-10 |
|
||||
| `in_the_last` | **Description:** Changes How many days of daily Top 10 Lists to look at.<br>**Default:** `1`<br>**Values:** Any Number 1-30 |
|
||||
| `in_the_last_<<key>>`<sup>1</sup> | **Description:** Changes How many days of daily Top 10 Lists to look at.<br>**Default:** `in_the_last`<br>**Values:** Any Number 1-30 |
|
||||
| `location` | **Description:** Changes the Builder Location for all collections in a Defaults file.<br>**Default:** `world`<br>**Values:** [`location` Attribute Options](../../files/builders/flixpatrol.md#top-platform-attributes) |
|
||||
| `location_<<key>>`<sup>1</sup> | **Description:** Changes the Builder Location of the specified key's collection.<br>**Default:** `location`<br>**Values:** [`location` Attribute Options](../../files/builders/flixpatrol.md#top-platform-attributes) |
|
||||
| `sync_mode` | **Description:** Changes the Sync Mode for all collections in a Defaults file.<br>**Default:** `sync`<br>**Values:**<table class="clearTable"><tr><td>`sync`</td><td>Add and Remove Items based on Builders</td></tr><tr><td>`append`</td><td>Only Add Items based on Builders</td></tr></table> |
|
||||
| `sync_mode_<<key>>`<sup>1</sup> | **Description:** Changes the Sync Mode of the specified key's collection.<br>**Default:** `sync_mode`<br>**Values:**<table class="clearTable"><tr><td>`sync`</td><td>Add and Remove Items based on Builders</td></tr><tr><td>`append`</td><td>Only Add Items based on Builders</td></tr></table> |
|
||||
| `collection_order` | **Description:** Changes the Collection Order for all collections in a Defaults file.<br>**Default:** `custom`<br>**Values:**<table class="clearTable"><tr><td>`release`</td><td>Order Collection by Release Dates</td></tr><tr><td>`alpha`</td><td>Order Collection Alphabetically</td></tr><tr><td>`custom`</td><td>Order Collection Via the Builder Order</td></tr><tr><td>[Any `plex_search` Sort Option](../../files/builders/plex.md#sort-options)</td><td>Order Collection by any `plex_search` Sort Option</td></tr></table> |
|
||||
| `collection_order_<<key>>`<sup>1</sup> | **Description:** Changes the Collection Order of the specified key's collection.<br>**Default:** `collection_order`<br>**Values:**<table class="clearTable"><tr><td>`release`</td><td>Order Collection by Release Dates</td></tr><tr><td>`alpha`</td><td>Order Collection Alphabetically</td></tr><tr><td>`custom`</td><td>Order Collection Via the Builder Order</td></tr><tr><td>[Any `plex_search` Sort Option](../../files/builders/plex.md#sort-options)</td><td>Order Collection by any `plex_search` Sort Option</td></tr></table> |
|
||||
|
||||
1. Each default collection has a `key` that when calling to effect a specific collection you must replace
|
||||
`<<key>>` with when calling.
|
||||
|
||||
=== "Shared Template Variables"
|
||||
|
||||
{%
|
||||
include-markdown "../collection_variables.md"
|
||||
%}
|
||||
|
||||
???+ example "Example Template Variable Amendments"
|
||||
|
||||
The below is an example config.yml extract with some Template Variables added in to change how the file works.
|
||||
|
||||
Click the :fontawesome-solid-circle-plus: icon to learn more
|
||||
|
||||
```yaml
|
||||
libraries:
|
||||
Movies:
|
||||
collection_files:
|
||||
- pmm: flixpatrol
|
||||
template_variables:
|
||||
location: united_states #(1)!
|
||||
```
|
||||
|
||||
1. Change the location of the FlixPatrol collections to the United States of America
|
|
@ -37,7 +37,6 @@ These collections are applied by calling the below paths into the `collection_fi
|
|||
| [IMDb Charts](chart/imdb.md) | `imdb` | IMDb Popular, IMDb Top 250 | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
||||
| [TMDb Charts](chart/tmdb.md) | `tmdb` | TMDb Popular, TMDb Airing Today | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
||||
| [Trakt Charts](chart/trakt.md)<sup>2</sup> | `trakt` | Trakt Popular, Trakt Trending | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
||||
| [FlixPatrol Charts](chart/flixpatrol.md) | `flixpatrol` | Top Disney, Top Max, Top Hulu, Top Netflix | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
||||
| [AniList Charts](chart/anilist.md) | `anilist` | AniList Popular, AniList Season | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
||||
| [MyAnimeList Charts](chart/myanimelist.md) | `myanimelist` | MyAnimeList Popular, MyAnimeList Top Rated | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
||||
| [Other Charts](chart/other.md) | `other_chart` | AniDB Popular, Common Sense Selection | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
||||
|
|
|
@ -62,7 +62,6 @@ This is the default PMM collection ordering:
|
|||
| `basic` | `010` |
|
||||
| `anilist` | `020` |
|
||||
| `imdb` | `020` |
|
||||
| `flixpatrol` | `020` |
|
||||
| `myanimelist` | `020` |
|
||||
| `other_chart` | `020` |
|
||||
| `tautulli` | `020` |
|
||||
|
|
|
@ -18,7 +18,6 @@ config.yml
|
|||
|
||||
| Default | Path | Example Overlays | Movies | Shows | Seasons | Episodes |
|
||||
|:-------------------------------------|:-------------|:-----------------------------------------|:------------------------------------------:|:------------------------------------------:|:----------------------------------------:|:----------------------------------------:|
|
||||
| [FlixPatrol](overlays/flixpatrol.md) | `flixpatrol` | "Streaming service logo with words "TOP" | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
|
||||
| [Ribbon](overlays/ribbon.md) | `ribbon` | IMDb Top 250 Ribbon, RT Fresh Ribbon | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
|
||||
|
||||
### Content Overlays
|
||||
|
|
|
@ -1,115 +0,0 @@
|
|||
# FlixPatrol Top Overlays
|
||||
|
||||
The `flixpatrol` Default Overlay File is used to create an overlay based on the Top Lists from FlixPatrol on items
|
||||
within your library.
|
||||
|
||||
![](images/flixpatrol.png)
|
||||
|
||||
## Requirements & Recommendations
|
||||
|
||||
Supported Overlay Level: Movie, Show
|
||||
|
||||
## Supported Services
|
||||
|
||||
| Service | Key | Weight |
|
||||
|:------------|:------------|:-------|
|
||||
| Netflix | `netflix` | `60` |
|
||||
| Disney+ | `disney` | `50` |
|
||||
| MAX | `max` | `40` |
|
||||
| Hulu | `hulu` | `30` |
|
||||
| Paramount+ | `paramount` | `20` |
|
||||
| Prime Video | `prime` | `10` |
|
||||
| Apple+ | `apple` | `9` |
|
||||
|
||||
## Config
|
||||
|
||||
The below YAML in your config.yml will create the overlays:
|
||||
|
||||
```yaml
|
||||
libraries:
|
||||
Movies:
|
||||
overlay_files:
|
||||
- pmm: flixpatrol
|
||||
TV Shows:
|
||||
overlay_files:
|
||||
- pmm: flixpatrol
|
||||
```
|
||||
|
||||
## Template Variables
|
||||
|
||||
Template Variables can be used to manipulate the file in various ways to slightly change how it works without having to
|
||||
make your own local copy.
|
||||
|
||||
Note that the `template_variables:` section only needs to be used if you do want to actually change how the defaults
|
||||
work. Any value not specified will use its default value if it has one if not it's just ignored.
|
||||
|
||||
??? abstract "Variable Lists (click to expand)"
|
||||
|
||||
* **File-Specific Template Variables** are variables available specifically for this PMM Defaults file.
|
||||
|
||||
* **Overlay Template Variables** are additional variables shared across the PMM Overlay Defaults.
|
||||
|
||||
* **Overlay Text Template Variables** are additional variables shared across the PMM Text Overlay Defaults.
|
||||
|
||||
??? example "Default Template Variable Values (click to expand)"
|
||||
|
||||
| Variable | Default |
|
||||
|:--------------------|:------------------|
|
||||
| `horizontal_offset` | `30` |
|
||||
| `horizontal_align` | `left`/`right` |
|
||||
| `vertical_offset` | `465`/`670`/`875` |
|
||||
| `vertical_align` | `top` |
|
||||
| `back_color` | `#00000099` |
|
||||
| `back_radius` | `30` |
|
||||
| `back_width` | `160` |
|
||||
| `back_height` | `160` |
|
||||
| `back_padding` | `15` |
|
||||
|
||||
???+ bug "Warning"
|
||||
|
||||
`horizontal_offset`, `horizontal_align`, `vertical_offset`, and `vertical_align` are NOT available for use in this file
|
||||
|
||||
=== "File-Specific Template Variables"
|
||||
|
||||
| Variable | Description & Values |
|
||||
|:----------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `position` | **Description:** Changes the position of the Overlays.<br>**Default:** `right`<br>**Values:** `right`, `left`, or List of Coordinates |
|
||||
| `style` | **Description:** Changes the style of the Logo Image.<br>**Default:** `round`<br>**Values:** `round` or `square` |
|
||||
| `pre_text` | **Description:** Changes the text before the number.<br>**Default:** `TOP`<br>**Values:** Any String |
|
||||
| `limit` | **Description:** Changes the Builder Limit for all overlays in a Defaults file.<br>**Default:** `10`<br>**Values:** Any Number 1-10 |
|
||||
| `limit_<<key>>`<sup>1</sup> | **Description:** Changes the Builder Limit of the specified key's overlay.<br>**Default:** `limit`<br>**Values:** Any Number 1-10 |
|
||||
| `location` | **Description:** Changes the Builder Location for all overlays in a Defaults file.<br>**Default:** `world`<br>**Values:** [`location` Attribute Options](../../files/builders/flixpatrol.md#top-platform-attributes) |
|
||||
| `location_<<key>>`<sup>1</sup> | **Description:** Changes the Builder Location of the specified key's overlay.<br>**Default:** `location`<br>**Values:** [`location` Attribute Options](../../files/builders/flixpatrol.md#top-platform-attributes) |
|
||||
| `in_the_last` | **Description:** Changes How many days of daily Top 10 Lists to look at.<br>**Default:** `1`<br>**Values:** Any Number 1-30 |
|
||||
| `in_the_last_<<key>>`<sup>1</sup> | **Description:** Changes How many days of daily Top 10 Lists to look at.<br>**Default:** `in_the_last`<br>**Values:** Any Number 1-30 |
|
||||
| `weight_<<key>>`<sup>1</sup> | **Description:** Controls the weight of the Overlay. Higher numbers have priority.<br>**Values:** Any Number |
|
||||
| `addon_offset` | **Description:** Text Addon Image Offset from the text.<br>**Default:** `30`<br>**Values:** Any Number greater than 0 |
|
||||
| `addon_position` | **Description:** Text Addon Image Alignment in relation to the text.<br>**Default:** `top`<br>**Values:** `left`, `right`, `top`, `bottom` |
|
||||
|
||||
1. Each default overlay has a `key` that when calling to effect a specific overlay you must replace `<<key>>`
|
||||
with when calling.
|
||||
|
||||
=== "Overlay Template Variables"
|
||||
|
||||
{%
|
||||
include-markdown "../overlay_variables.md"
|
||||
%}
|
||||
|
||||
=== "Overlay Text Template Variables"
|
||||
|
||||
{%
|
||||
include-markdown "../overlay_text_variables.md"
|
||||
%}
|
||||
|
||||
???+ example "Example Template Variable Amendments"
|
||||
|
||||
The below is an example config.yml extract with some Template Variables added in to change how the file works.
|
||||
|
||||
```yaml
|
||||
libraries:
|
||||
Movies:
|
||||
overlay_files:
|
||||
- pmm: flixpatrol
|
||||
template_variables:
|
||||
location: united_states
|
||||
```
|
|
@ -1,37 +0,0 @@
|
|||
# FlixPatrol Builders
|
||||
|
||||
You can find items using the features of [FlixPatrol.com](https://flixpatrol.com/) (FlixPatrol).
|
||||
|
||||
No configuration is required for this builder.
|
||||
|
||||
| Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|
||||
|:---------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------|:------------------------------------------:|:------------------------------------------:|:------------------------------------------:|
|
||||
| [`flixpatrol_top`](#flixpatrol-top-platform) | Finds every item from [FlixPatrol's Top Platform Lists](https://flixpatrol.com/top10/) based on the attributes provided. | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
||||
|
||||
## FlixPatrol Top Platform
|
||||
|
||||
Finds every item from [FlixPatrol's Top Platform Lists](https://flixpatrol.com/top10/) based on the attributes provided.
|
||||
|
||||
The only required attribute is `platform`.
|
||||
|
||||
The `sync_mode: sync` and `collection_order: custom` Setting are recommended since the lists are continuously updated and in a specific order.
|
||||
|
||||
### Top Platform Attributes
|
||||
|
||||
| Attribute | Description & Values |
|
||||
|:--------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `platform` | **Description:** Streaming Platform to filter on.<br>**Values:** `amazon_prime`, `apple_tv`, `chili`, `disney`, `freevee`, `globoplay`, `google`, `hbo`, `hulu`, `itunes`, `netflix`, `osn`, `paramount_plus`, `rakuten_tv`, `shahid`, `star_plus`, `starz`, `viaplay`, `vudu` |
|
||||
| `location` | **Description:** Location to filter on.<br>**Default:** `world`<br>**Values:** `world`, `albania`, `algeria`, `angola`, `argentina`, `armenia`, `australia`, `austria`, `azerbaijan`, `bahamas`, `bahrain`, `bangladesh`, `belarus`, `belgium`, `belize`, `benin`, `bolivia`, `bosnia_and_herzegovina`, `botswana`, `brazil`, `bulgaria`, `burkina_faso`, `cambodia`, `cameroon`, `canada`, `chad`, `chile`, `colombia`, `costa_rica`, `croatia`, `cyprus`, `czech_republic`, `democratic_republic_of_the_congo`, `denmark`, `dominican_republic`, `ecuador`, `egypt`, `estonia`, `finland`, `france`, `gabon`, `georgia`, `germany`, `ghana`, `greece`, `guadeloupe`, `guatemala`, `guyana`, `haiti`, `honduras`, `hong_kong`, `hungary`, `iceland`, `india`, `indonesia`, `iraq`, `ireland`, `israel`, `italy`, `ivory_coast`, `jamaica`, `japan`, `jordan`, `kazakhstan`, `kenya`, `kuwait`, `kyrgyzstan`, `laos`, `latvia`, `lebanon`, `libya`, `lithuania`, `luxembourg`, `madagascar`, `malawi`, `malaysia`, `maldives`, `mali`, `malta`, `martinique`, `mauritania`, `mauritius`, `mexico`, `moldova`, `mongolia`, `montenegro`, `morocco`, `mozambique`, `myanmar`, `namibia`, `netherlands`, `new_caledonia`, `new_zealand`, `nicaragua`, `niger`, `nigeria`, `north_macedonia`, `norway`, `oman`, `pakistan`, `panama`, `papua_new_guinea`, `paraguay`, `peru`, `philippines`, `poland`, `portugal`, `qatar`, `republic_of_the_congo`, `reunion`, `romania`, `russia`, `rwanda`, `salvador`, `saudi_arabia`, `senegal`, `serbia`, `singapore`, `slovakia`, `slovenia`, `somalia`, `south_africa`, `south_korea`, `south_sudan`, `spain`, `sri_lanka`, `sweden`, `switzerland`, `taiwan`, `tajikistan`, `tanzania`, `thailand`, `togo`, `trinidad_and_tobago`, `tunisia`, `turkey`, `turkmenistan`, `uganda`, `ukraine`, `united_arab_emirates`, `united_kingdom`, `united_states`, `uruguay`, `uzbekistan`, `venezuela`, `vietnam`, `yemen`, `zambia`, `zimbabwe` |
|
||||
| `limit` | **Description:** Number of items to return.<br>**Default:** `10`<br>**Values:** Integer greater than 0 |
|
||||
| `in_the_last` | **Description:** Changes How many days of daily Top 10 Lists to look at.<br>**Default:** `1`<br>**Values:** Any Number 1-30 |
|
||||
|
||||
```yaml
|
||||
collections:
|
||||
US Netflix Monthly Top 10:
|
||||
flixpatrol_top:
|
||||
platform: netflix
|
||||
location: united_states
|
||||
limit: 10
|
||||
collection_order: custom
|
||||
sync_mode: sync
|
||||
```
|
|
@ -182,18 +182,6 @@ Builders use third-party services to source items to be added to the collection.
|
|||
|
||||
- [:material-check: ICheckMovies List](../icheckmovies/#icheckmovies-list) - Gets every show in the ICheckMovies list
|
||||
|
||||
!!! builder
|
||||
|
||||
![FlixPatrol logo](../../../assets/icons/flixpatrol.png){ align=right }
|
||||
|
||||
**[FlixPatrol](../flixpatrol)** builders grab items based on metadata on FlixPatrol.com
|
||||
|
||||
[:octicons-home-16: View Builder](../flixpatrol){ .md-button .md-button--primary }
|
||||
|
||||
??? quicklink "Popular Builders"
|
||||
|
||||
- [:material-police-badge: FlixPatrol Top](../flixpatrol/#flixpatrol-top) - Gets every item from FlixPatrol's Top Platform Lists based on the attributes provided.
|
||||
|
||||
!!! builder
|
||||
|
||||
![AniDB logo](../../../assets/icons/anidb.png){ align=right }
|
||||
|
|
|
@ -31,7 +31,7 @@ Transform your media library with Plex Meta Manager and discover its full potent
|
|||
|
||||
:material-connection:{ .lg .middle } __Third-Party Integrations__
|
||||
|
||||
- Harness the power of Trakt, TMDb, IMDb, Flixpatrol and more to create collections and overlays!
|
||||
- Harness the power of Trakt, TMDb, IMDb and more to create collections and overlays!
|
||||
- Integrate with Sonarr and Radarr to automate your library growth.
|
||||
|
||||
:material-star-face:{ .lg .middle } __And More!__
|
||||
|
|
|
@ -486,13 +486,12 @@ With the release of PMM 1.20, several changes have taken place that we would lik
|
|||
keyword.any: spy, espionage
|
||||
```
|
||||
|
||||
??? blank "FlixPatrol Default File and Builder have been reworked (click to expand).<a class="headerlink" href="#flixpatrol" title="Permanent link">¶</a>"
|
||||
??? blank "FlixPatrol Default Files and Builders have been removed (click to expand).<a class="headerlink" href="#flixpatrol" title="Permanent link">¶</a>"
|
||||
|
||||
<div id="flixpatrol" />
|
||||
|
||||
Due to FlixPatrol moving a lot of their data behind a paywall, the existing setup no longer works.
|
||||
|
||||
We have reintroduced FlixPatrol as a [Builder](../files/builders/flixpatrol.md) and [PMM Defaults File](../defaults/chart/flixpatrol.md), we recommend reading the documentation and updating your config/YAML files to suit.
|
||||
Due to FlixPatrol moving a lot of their data behind a paywall and them reworking their pages to remove IMDb IDs and
|
||||
TMDb IDs the flixpatrol builders and default files have been removed. There currently are no plans to re-add them.
|
||||
|
||||
??? blank "PMM Default `other_award` replaced with individual Award files (click to expand).<a class="headerlink" href="#awards" title="Permanent link">¶</a>"
|
||||
|
||||
|
|
|
@ -48,8 +48,6 @@ A lot of these guides are stored on Google Drive as using the traditional wiki p
|
|||
- How PMM stores the IMDB Award Lists
|
||||
- [PMM Mediastingers](https://github.com/meisnate12/PMM-Mediastingers)
|
||||
- How PMM stores the Mediastingers List
|
||||
- [PMM TOP10](https://github.com/meisnate12/PMM-TOP10)
|
||||
- How PMM stores the Flixpatrol Top 10 Lists
|
||||
|
||||
<br>
|
||||
|
||||
|
|
|
@ -92,6 +92,7 @@
|
|||
"type": "boolean"
|
||||
},
|
||||
"verify_ssl": {
|
||||
"description": "Turn SSL Verification on or off for only Plex.",
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -32,7 +32,6 @@ libraries:
|
|||
- pmm: tautulli
|
||||
- pmm: imdb
|
||||
- pmm: trakt
|
||||
- pmm: flixpatrol
|
||||
- pmm: anilist
|
||||
- pmm: myanimelist
|
||||
- pmm: other_chart
|
||||
|
@ -99,7 +98,6 @@ libraries:
|
|||
- url: https://foo.bar.com/something.yml
|
||||
- git: bing/bang/boing
|
||||
- repo: bing
|
||||
- pmm: flixpatrol
|
||||
- pmm: episode_info
|
||||
- pmm: mediastinger
|
||||
- pmm: ratings
|
||||
|
@ -175,7 +173,6 @@ libraries:
|
|||
- pmm: tautulli
|
||||
- pmm: imdb
|
||||
- pmm: trakt
|
||||
- pmm: flixpatrol
|
||||
- pmm: anilist
|
||||
- pmm: myanimelist
|
||||
- pmm: other_chart
|
||||
|
@ -248,7 +245,6 @@ libraries:
|
|||
- url: https://foo.bar.com/something.yml
|
||||
- git: bing/bang/boing
|
||||
- repo: bing
|
||||
- pmm: flixpatrol
|
||||
- pmm: episode_info
|
||||
- pmm: mediastinger
|
||||
- pmm: ratings
|
||||
|
@ -289,7 +285,6 @@ libraries:
|
|||
- pmm: tautulli
|
||||
- pmm: imdb
|
||||
- pmm: trakt
|
||||
- pmm: flixpatrol
|
||||
- pmm: anilist
|
||||
- pmm: myanimelist
|
||||
- pmm: other_chart
|
||||
|
@ -343,7 +338,6 @@ libraries:
|
|||
- remove_overlays: false # Set to true if you want to remove overlays
|
||||
# - reapply_overlay: false # If you are doing a lot of testing and changes like me, keep this to true to always reapply overlays - can cause image bloat
|
||||
# - reset_overlays: tmdb # if you want to reset the poster to default poster from tmdb - can cause image bloat
|
||||
- pmm: flixpatrol
|
||||
- pmm: mediastinger
|
||||
- pmm: ratings
|
||||
- pmm: status
|
||||
|
|
|
@ -214,7 +214,6 @@ nav:
|
|||
- Separator: defaults/chart/separator.md
|
||||
- Basic Charts: defaults/chart/basic.md
|
||||
- AniList Charts: defaults/chart/anilist.md
|
||||
- Flixpatrol Charts: defaults/chart/flixpatrol.md
|
||||
- IMDb Charts: defaults/chart/imdb.md
|
||||
- MyAnimeList Charts: defaults/chart/myanimelist.md
|
||||
- Tautulli Charts: defaults/chart/tautulli.md
|
||||
|
@ -267,7 +266,6 @@ nav:
|
|||
- Overlays: defaults/overlays.md
|
||||
- Shared Variables: defaults/overlay_variables.md
|
||||
- Chart:
|
||||
- FlixPatrol Top: defaults/overlays/flixpatrol.md
|
||||
- Ribbon: defaults/overlays/ribbon.md
|
||||
- Content:
|
||||
- Episode Info: defaults/overlays/episode_info.md
|
||||
|
@ -320,7 +318,6 @@ nav:
|
|||
- MdbList Builders: files/builders/mdblist.md
|
||||
- Letterboxd Builders: files/builders/letterboxd.md
|
||||
- ICheckMovies Builders: files/builders/icheckmovies.md
|
||||
- FlixPatrol Builders: files/builders/flixpatrol.md
|
||||
- BoxOfficeMojo Builders: files/builders/mojo.md
|
||||
- Reciperr Builders: files/builders/reciperr.md
|
||||
- StevenLu Builders: files/builders/stevenlu.md
|
||||
|
|
|
@ -2,7 +2,7 @@ import os, re, time
|
|||
from arrapi import ArrException
|
||||
from datetime import datetime, timedelta
|
||||
from dateutil.relativedelta import relativedelta
|
||||
from modules import anidb, anilist, flixpatrol, icheckmovies, imdb, letterboxd, mal, mojo, plex, radarr, reciperr, sonarr, tautulli, tmdb, trakt, tvdb, mdblist, util
|
||||
from modules import anidb, anilist, icheckmovies, imdb, letterboxd, mal, mojo, plex, radarr, reciperr, sonarr, tautulli, tmdb, trakt, tvdb, mdblist, util
|
||||
from modules.util import Failed, FilterFailed, NonExisting, NotScheduled, NotScheduledRange, Deleted
|
||||
from modules.overlay import Overlay
|
||||
from modules.poster import PMMImage
|
||||
|
@ -16,7 +16,7 @@ logger = util.logger
|
|||
|
||||
advance_new_agent = ["item_metadata_language", "item_use_original_title"]
|
||||
advance_show = ["item_episode_sorting", "item_keep_episodes", "item_delete_episodes", "item_season_display", "item_episode_sorting"]
|
||||
all_builders = anidb.builders + anilist.builders + flixpatrol.builders + icheckmovies.builders + imdb.builders + \
|
||||
all_builders = anidb.builders + anilist.builders + icheckmovies.builders + imdb.builders + \
|
||||
letterboxd.builders + mal.builders + mojo.builders + plex.builders + reciperr.builders + tautulli.builders + \
|
||||
tmdb.builders + trakt.builders + tvdb.builders + mdblist.builders + radarr.builders + sonarr.builders
|
||||
show_only_builders = [
|
||||
|
@ -153,7 +153,7 @@ custom_sort_builders = [
|
|||
"trakt_recommended_personal", "trakt_recommended_daily", "trakt_recommended_weekly", "trakt_recommended_monthly",
|
||||
"trakt_recommended_yearly", "trakt_recommended_all", "trakt_watched_daily", "trakt_watched_weekly",
|
||||
"trakt_watched_monthly", "trakt_watched_yearly", "trakt_watched_all",
|
||||
"tautulli_popular", "tautulli_watched", "mdblist_list", "letterboxd_list", "icheckmovies_list", "flixpatrol_top",
|
||||
"tautulli_popular", "tautulli_watched", "mdblist_list", "letterboxd_list", "icheckmovies_list",
|
||||
"anilist_top_rated", "anilist_popular", "anilist_trending", "anilist_search", "anilist_userlist",
|
||||
"mal_all", "mal_airing", "mal_upcoming", "mal_tv", "mal_movie", "mal_ova", "mal_special", "mal_search",
|
||||
"mal_popular", "mal_favorite", "mal_suggested", "mal_userlist", "mal_season", "mal_genre", "mal_studio",
|
||||
|
@ -1035,8 +1035,6 @@ class CollectionBuilder:
|
|||
self._anidb(method_name, method_data)
|
||||
elif method_name in anilist.builders:
|
||||
self._anilist(method_name, method_data)
|
||||
elif method_name in flixpatrol.builders:
|
||||
self._flixpatrol(method_name, method_data)
|
||||
elif method_name in icheckmovies.builders:
|
||||
self._icheckmovies(method_name, method_data)
|
||||
elif method_name in letterboxd.builders:
|
||||
|
@ -1469,16 +1467,6 @@ class CollectionBuilder:
|
|||
new_dictionary["limit"] = util.parse(self.Type, "limit", dict_data, datatype="int", methods=dict_methods, default=0, parent=method_name)
|
||||
self.builders.append((method_name, new_dictionary))
|
||||
|
||||
def _flixpatrol(self, method_name, method_data):
|
||||
for dict_data in util.parse(self.Type, method_name, method_data, datatype="listdict"):
|
||||
dict_methods = {dm.lower(): dm for dm in dict_data}
|
||||
self.builders.append((method_name, {
|
||||
"platform": util.parse(self.Type, "platform", dict_data, methods=dict_methods, parent=method_name, options=self.config.FlixPatrol.platforms),
|
||||
"location": util.parse(self.Type, "location", dict_data, methods=dict_methods, parent=method_name, default="world", options=self.config.FlixPatrol.locations),
|
||||
"in_the_last": util.parse(self.Type, "in_the_last", dict_data, datatype="int", methods=dict_methods, parent=method_name, default=1, maximum=30),
|
||||
"limit": util.parse(self.Type, "limit", dict_data, datatype="int", methods=dict_methods, parent=method_name, default=10, maximum=10)
|
||||
}))
|
||||
|
||||
def _icheckmovies(self, method_name, method_data):
|
||||
if method_name.startswith("icheckmovies_list"):
|
||||
icheckmovies_lists = self.config.ICheckMovies.validate_icheckmovies_lists(method_data, self.language)
|
||||
|
@ -2211,8 +2199,6 @@ class CollectionBuilder:
|
|||
ids = self.config.TVDb.get_tvdb_ids(method, value)
|
||||
elif "imdb" in method:
|
||||
ids = self.config.IMDb.get_imdb_ids(method, value, self.language)
|
||||
elif "flixpatrol" in method:
|
||||
ids = self.config.FlixPatrol.get_tmdb_ids(method, value, self.library.is_movie)
|
||||
elif "icheckmovies" in method:
|
||||
ids = self.config.ICheckMovies.get_imdb_ids(method, value, self.language)
|
||||
elif "letterboxd" in method:
|
||||
|
|
|
@ -7,7 +7,6 @@ from modules.anilist import AniList
|
|||
from modules.cache import Cache
|
||||
from modules.convert import Convert
|
||||
from modules.ergast import Ergast
|
||||
from modules.flixpatrol import FlixPatrol
|
||||
from modules.icheckmovies import ICheckMovies
|
||||
from modules.imdb import IMDb
|
||||
from modules.github import GitHub
|
||||
|
@ -724,7 +723,6 @@ class ConfigFile:
|
|||
self.IMDb = IMDb(self)
|
||||
self.Convert = Convert(self)
|
||||
self.AniList = AniList(self)
|
||||
self.FlixPatrol = FlixPatrol(self)
|
||||
self.ICheckMovies = ICheckMovies(self)
|
||||
self.Letterboxd = Letterboxd(self)
|
||||
self.BoxOfficeMojo = BoxOfficeMojo(self)
|
||||
|
@ -739,7 +737,7 @@ class ConfigFile:
|
|||
"url": check_for_attribute(self.data, "url", parent="plex", var_type="url", default_is_none=True),
|
||||
"token": check_for_attribute(self.data, "token", parent="plex", default_is_none=True),
|
||||
"timeout": check_for_attribute(self.data, "timeout", parent="plex", var_type="int", default=60),
|
||||
"verify_ssl": check_for_attribute(self.data, "verify_ssl", parent="plex", var_type="bool", default=True),
|
||||
"verify_ssl": check_for_attribute(self.data, "verify_ssl", parent="plex", var_type="bool", default_is_none=True),
|
||||
"db_cache": check_for_attribute(self.data, "db_cache", parent="plex", var_type="int", default_is_none=True)
|
||||
}
|
||||
for attr in ["clean_bundles", "empty_trash", "optimize"]:
|
||||
|
@ -1128,7 +1126,7 @@ class ConfigFile:
|
|||
"url": check_for_attribute(lib, "url", parent="plex", var_type="url", default=self.general["plex"]["url"], req_default=True, save=False),
|
||||
"token": check_for_attribute(lib, "token", parent="plex", default=self.general["plex"]["token"], req_default=True, save=False),
|
||||
"timeout": check_for_attribute(lib, "timeout", parent="plex", var_type="int", default=self.general["plex"]["timeout"], save=False),
|
||||
"verify_ssl": check_for_attribute(lib, "verify_ssl", parent="plex", var_type="bool", default=self.general["plex"]["verify_ssl"], save=False),
|
||||
"verify_ssl": check_for_attribute(lib, "verify_ssl", parent="plex", var_type="bool", default=self.general["plex"]["verify_ssl"], default_is_none=True, save=False),
|
||||
"db_cache": check_for_attribute(lib, "db_cache", parent="plex", var_type="int", default=self.general["plex"]["db_cache"], default_is_none=True, save=False)
|
||||
}
|
||||
for attr in ["clean_bundles", "empty_trash", "optimize"]:
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
from modules import util
|
||||
from modules.util import Failed
|
||||
|
||||
logger = util.logger
|
||||
|
||||
base_url = "https://raw.githubusercontent.com/meisnate12/PMM-TOP10/master/"
|
||||
builders = ["flixpatrol_top"]
|
||||
|
||||
|
||||
class FlixPatrol:
|
||||
def __init__(self, config):
|
||||
self.config = config
|
||||
self._platforms = None
|
||||
self._locations = None
|
||||
self.country_data = {}
|
||||
|
||||
def load_info(self):
|
||||
info = self.config.load_yaml(f"{base_url}info.yml")
|
||||
self._platforms = info["platforms"]
|
||||
self._locations = info["locations"]
|
||||
|
||||
def get_country(self, country):
|
||||
if country not in self.country_data:
|
||||
self.country_data[country] = self.config.load_yaml(f"{base_url}lists/{country}.yml")
|
||||
return self.country_data[country]
|
||||
|
||||
@property
|
||||
def platforms(self):
|
||||
if self._platforms is None:
|
||||
self.load_info()
|
||||
return self._platforms
|
||||
|
||||
@property
|
||||
def locations(self):
|
||||
if self._locations is None:
|
||||
self.load_info()
|
||||
return self._locations
|
||||
|
||||
def get_tmdb_ids(self, method, data, is_movie):
|
||||
flix_items = []
|
||||
media_type = "movies" if is_movie else "shows"
|
||||
if method == "flixpatrol_top":
|
||||
logger.info(f"Processing FlixPatrol Top {media_type.capitalize()}:")
|
||||
logger.info(f"\tPlatform: {data['platform'].replace('_', ' ').title()}")
|
||||
logger.info(f"\tLocation: {data['location'].replace('_', ' ').title()}")
|
||||
logger.info(f"\tIn The Last: {data['in_the_last']}")
|
||||
logger.info(f"\tLimit: {data['limit']}")
|
||||
country_info = self.get_country(data["location"])
|
||||
for key in [k for k in country_info][:data["in_the_last"]]:
|
||||
if data["platform"] in country_info[key] and media_type in country_info[key][data["platform"]]:
|
||||
for item in country_info[key][data["platform"]][media_type]:
|
||||
if item not in flix_items and len(flix_items) < data["limit"]:
|
||||
flix_items.append(item)
|
||||
items = [(i, "tmdb" if is_movie else "tmdb_show") for i in flix_items]
|
||||
if len(items) > 0:
|
||||
logger.info(f"Processed {len(items)} TMDb IDs")
|
||||
return items
|
||||
else:
|
||||
raise Failed(f"FlixPatrol Error: No {media_type.capitalize()} Found for {data['platform'].replace('_', ' ').title()} in {data['location'].replace('_', ' ').title()}")
|
|
@ -1173,7 +1173,7 @@ class MetadataFile(DataFile):
|
|||
if "<<library_typeU>>" in title_format:
|
||||
title_format = title_format.replace("<<library_typeU>>", library.type)
|
||||
if "limit" in self.temp_vars and "<<limit>>" in title_format:
|
||||
title_format = title_format.replace("<<limit>>", self.temp_vars["limit"])
|
||||
title_format = title_format.replace("<<limit>>", str(self.temp_vars["limit"]))
|
||||
template_variables = util.parse("Config", "template_variables", dynamic, parent=map_name, methods=methods, datatype="dictdict") if "template_variables" in methods else {}
|
||||
if "template" in methods:
|
||||
template_names = util.parse("Config", "template", dynamic, parent=map_name, methods=methods, datatype="strlist")
|
||||
|
|
|
@ -435,19 +435,22 @@ class Plex(Library):
|
|||
super().__init__(config, params)
|
||||
self.plex = params["plex"]
|
||||
self.url = self.plex["url"]
|
||||
self.plex["session"] = self.config.session
|
||||
if self.plex.get("verify_ssl") is False and self.config.general["verify_ssl"] is True:
|
||||
plex_session = self.config.session
|
||||
if self.plex["verify_ssl"] is False and self.config.general["verify_ssl"] is True:
|
||||
logger.debug("Overriding verify_ssl to False for Plex connection")
|
||||
self.plex["session"] = requests.Session()
|
||||
self.plex["session"].verify = False
|
||||
plex_session = requests.Session()
|
||||
plex_session.verify = False
|
||||
import urllib3
|
||||
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
||||
if self.plex["verify_ssl"] is True and self.config.general["verify_ssl"] is False:
|
||||
logger.debug("Overriding verify_ssl to True for Plex connection")
|
||||
plex_session = requests.Session()
|
||||
self.token = self.plex["token"]
|
||||
self.timeout = self.plex["timeout"]
|
||||
logger.secret(self.url)
|
||||
logger.secret(self.token)
|
||||
try:
|
||||
self.PlexServer = PlexServer(baseurl=self.url, token=self.token, session=self.plex["session"], timeout=self.timeout)
|
||||
self.PlexServer = PlexServer(baseurl=self.url, token=self.token, session=plex_session, timeout=self.timeout)
|
||||
plexapi.server.TIMEOUT = self.timeout
|
||||
os.environ["PLEXAPI_PLEXAPI_TIMEOUT"] = str(self.timeout)
|
||||
logger.info(f"Connected to server {self.PlexServer.friendlyName} version {self.PlexServer.version}")
|
||||
|
|
|
@ -7,7 +7,7 @@ pillow==10.2.0
|
|||
PlexAPI==4.15.10
|
||||
psutil==5.9.8
|
||||
python-dotenv==1.0.1
|
||||
python-dateutil==2.8.2
|
||||
python-dateutil==2.9.0.post0
|
||||
requests==2.31.0
|
||||
retrying==1.3.4
|
||||
ruamel.yaml==0.18.6
|
||||
|
|
Loading…
Reference in a new issue