parent
69969f32b6
commit
83c090e1e2
@ -0,0 +1,182 @@
|
||||
The Image Asset Directories can be used to update the posters and backgrounds of collections, movies, shows, seasons, and episodes.
|
||||
|
||||
To use multiple Image Asset Directories you have to use a list. Comma-separated values will not work. By default, the program will look in the same folder as you config.yml for a folder called assets.
|
||||
|
||||
There are two different options when it comes to how the program looks at the files inside you Asset Directories. These can be toggled between by using `asset_folders`.
|
||||
|
||||
| Image Type | Image Path With Folders<br>`asset_folders: true` | Image Path Without Folder<br>`asset_folders: false` |
|
||||
| :--- | :--- | :--- |
|
||||
| Collection/Movie/Show poster | `assets/ASSET_NAME/poster.ext` | `assets/ASSET_NAME.ext` |
|
||||
| Collection/Movie/Show background | `assets/ASSET_NAME/background.ext` | `assets/ASSET_NAME_background.ext` |
|
||||
| Season poster | `assets/ASSET_NAME/Season##.ext` | `assets/ASSET_NAME_Season##.ext` |
|
||||
| Season background | `assets/ASSET_NAME/Season##_background.ext` | `assets/ASSET_NAME_Season##_background.ext` |
|
||||
| Episode poster | `assets/ASSET_NAME/S##E##.ext` | `assets/ASSET_NAME_S##E##.ext` |
|
||||
|
||||
* For **Collections** replace `ASSET_NAME` with the mapping name used with the collection unless `system_name` is specified, which you would then use what's specified in `system_name`.
|
||||
|
||||
* For **Movies** replace `ASSET_NAME` with the exact name of the folder the video file is stored in.
|
||||
|
||||
* For **Shows**, **Seasons**, and **Episodes** replace `ASSET_NAME` with the exact name of the folder for the show as a whole.
|
||||
|
||||
* For **Seasons** replace `##` with the zero padded season number (00 for specials)
|
||||
|
||||
* For **Episodes** replacing the first `##` with the zero padded season number (00 for specials), the second `##` with the zero padded episode number
|
||||
|
||||
* Replace `.ext` with the image extension
|
||||
|
||||
By default, the program will only look inside the Image Asset Directories for Images when it runs a collection from a Metadata File. When it does this by default it will only look for the collection images, but you can have it look for images of every item in the collection if you add `item_assets: true` to the collection config.
|
||||
|
||||
If you're using `asset_folders` set to true you can also nest movie/show folders inside an Image Assets Collection Folder that contains that movie/show.
|
||||
|
||||
You can set `assets_for_all` to true to have the program, after your run, check the Image Asset Directories for Images of every item in your library.
|
||||
|
||||
Here's an example config folder structure with an assets directory with `asset_folders` set to true and false.
|
||||
|
||||
### `asset_folders: true` without nesting
|
||||
|
||||
```
|
||||
config
|
||||
├── config.yml
|
||||
├── Movies.yml
|
||||
├── TV Shows.yml
|
||||
├── assets
|
||||
│ ├── The Lord of the Rings
|
||||
│ ├── poster.png
|
||||
│ ├── background.png
|
||||
│ ├── The Lord of the Rings The Fellowship of the Ring (2001)
|
||||
│ ├── poster.png
|
||||
│ ├── background.png
|
||||
│ ├── The Lord of the Rings The Two Towers (2002)
|
||||
│ ├── poster.png
|
||||
│ ├── background.png
|
||||
│ ├── The Lord of the Rings The Return of the King (2003)
|
||||
│ ├── poster.png
|
||||
│ ├── background.png
|
||||
│ ├── Star Wars (Animated)
|
||||
│ ├── poster.png
|
||||
│ ├── background.png
|
||||
│ ├── Star Wars The Clone Wars
|
||||
│ ├── poster.png
|
||||
│ ├── background.png
|
||||
│ ├── Season00.png
|
||||
│ ├── Season01.png
|
||||
│ ├── Season02.png
|
||||
│ ├── Season03.png
|
||||
│ ├── Season04.png
|
||||
│ ├── Season05.png
|
||||
│ ├── Season06.png
|
||||
│ ├── Season07.png
|
||||
│ ├── S07E01.png
|
||||
│ ├── S07E02.png
|
||||
│ ├── S07E03.png
|
||||
│ ├── S07E04.png
|
||||
│ ├── S07E05.png
|
||||
│ ├── Star Wars Rebels
|
||||
│ ├── poster.png
|
||||
│ ├── background.png
|
||||
│ ├── Season01.png
|
||||
│ ├── Season01_background.png
|
||||
│ ├── Season02.png
|
||||
│ ├── Season02_background.png
|
||||
│ ├── Season03.png
|
||||
│ ├── Season03_background.png
|
||||
│ ├── Season04.png
|
||||
│ ├── Season04_background.png
|
||||
```
|
||||
|
||||
### `asset_folders: true` with nesting
|
||||
|
||||
```
|
||||
config
|
||||
├── config.yml
|
||||
├── Movies.yml
|
||||
├── TV Shows.yml
|
||||
├── assets
|
||||
│ ├── The Lord of the Rings
|
||||
│ ├── poster.png
|
||||
│ ├── background.png
|
||||
│ ├── The Lord of the Rings The Fellowship of the Ring (2001)
|
||||
│ ├── poster.png
|
||||
│ ├── background.png
|
||||
│ ├── The Lord of the Rings The Two Towers (2002)
|
||||
│ ├── poster.png
|
||||
│ ├── background.png
|
||||
│ ├── The Lord of the Rings The Return of the King (2003)
|
||||
│ ├── poster.png
|
||||
│ ├── background.png
|
||||
│ ├── Star Wars (Animated)
|
||||
│ ├── poster.png
|
||||
│ ├── background.png
|
||||
│ ├── Star Wars The Clone Wars
|
||||
│ ├── poster.png
|
||||
│ ├── background.png
|
||||
│ ├── Season00.png
|
||||
│ ├── Season01.png
|
||||
│ ├── Season02.png
|
||||
│ ├── Season03.png
|
||||
│ ├── Season04.png
|
||||
│ ├── Season05.png
|
||||
│ ├── Season06.png
|
||||
│ ├── Season07.png
|
||||
│ ├── S07E01.png
|
||||
│ ├── S07E02.png
|
||||
│ ├── S07E03.png
|
||||
│ ├── S07E04.png
|
||||
│ ├── S07E05.png
|
||||
│ ├── Star Wars Rebels
|
||||
│ ├── poster.png
|
||||
│ ├── background.png
|
||||
│ ├── Season01.png
|
||||
│ ├── Season01_background.png
|
||||
│ ├── Season02.png
|
||||
│ ├── Season02_background.png
|
||||
│ ├── Season03.png
|
||||
│ ├── Season03_background.png
|
||||
│ ├── Season04.png
|
||||
│ ├── Season04_background.png
|
||||
```
|
||||
|
||||
### `asset_folders: false`
|
||||
|
||||
```
|
||||
config
|
||||
├── config.yml
|
||||
├── Movies.yml
|
||||
├── TV Shows.yml
|
||||
├── assets
|
||||
│ ├── The Lord of the Rings.png
|
||||
│ ├── The Lord of the Rings_background.png
|
||||
│ ├── The Lord of the Rings The Fellowship of the Ring (2001).png
|
||||
│ ├── The Lord of the Rings The Fellowship of the Ring (2001)_background.png
|
||||
│ ├── The Lord of the Rings The Two Towers (2002).png
|
||||
│ ├── The Lord of the Rings The Two Towers (2002)_background.png
|
||||
│ ├── The Lord of the Rings The Return of the King (2003).png
|
||||
│ ├── The Lord of the Rings The Return of the King (2003)_background.png
|
||||
│ ├── Star Wars (Animated).png
|
||||
│ ├── Star Wars (Animated)_background.png
|
||||
│ ├── Star Wars The Clone Wars.png
|
||||
│ ├── Star Wars The Clone Wars_background.png
|
||||
│ ├── Star Wars The Clone Wars_Season00.png
|
||||
│ ├── Star Wars The Clone Wars_Season01.png
|
||||
│ ├── Star Wars The Clone Wars_Season02.png
|
||||
│ ├── Star Wars The Clone Wars_Season03.png
|
||||
│ ├── Star Wars The Clone Wars_Season04.png
|
||||
│ ├── Star Wars The Clone Wars_Season05.png
|
||||
│ ├── Star Wars The Clone Wars_Season06.png
|
||||
│ ├── Star Wars The Clone Wars_Season07.png
|
||||
│ ├── Star Wars The Clone Wars_S07E01.png
|
||||
│ ├── Star Wars The Clone Wars_S07E02.png
|
||||
│ ├── Star Wars The Clone Wars_S07E03.png
|
||||
│ ├── Star Wars The Clone Wars_S07E04.png
|
||||
│ ├── Star Wars The Clone Wars_S07E05.png
|
||||
│ ├── Star Wars Rebels.png
|
||||
│ ├── Star Wars Rebels_background.png
|
||||
│ ├── Star Wars Rebels_Season01.png
|
||||
│ ├── Star Wars Rebels_Season01_background.png
|
||||
│ ├── Star Wars Rebels_Season02.png
|
||||
│ ├── Star Wars Rebels_Season02_background.png
|
||||
│ ├── Star Wars Rebels_Season03.png
|
||||
│ ├── Star Wars Rebels_Season03_background.png
|
||||
│ ├── Star Wars Rebels_Season04.png
|
||||
│ ├── Star Wars Rebels_Season04_background.png
|
||||
```
|
@ -0,0 +1,25 @@
|
||||
Configuring [Notifiarr](https://notifiarr.com) is optional but can allow you to send the webhooks straight to notifiarr.
|
||||
|
||||
A `notifiarr` mapping is in the root of the config file.
|
||||
|
||||
Below is a `notifiarr` mapping example and the full set of attributes:
|
||||
```yaml
|
||||
notifiarr:
|
||||
apikey: ####################################
|
||||
```
|
||||
|
||||
| Name | Attribute | Allowed Values | Default | Required |
|
||||
| :--- | :--- | :--- | :---: | :---: |
|
||||
| API Key | `apikey` | Notifiarr API Key | N/A | :heavy_check_mark: |
|
||||
|
||||
Once you have added the apikey your config.yml you have to add `notifiarr` to any webhook to send that notification to Notifiarr.
|
||||
|
||||
```yaml
|
||||
webhooks:
|
||||
error: notifiarr
|
||||
run_start: notifiarr
|
||||
run_end: notifiarr
|
||||
collection_creation: notifiarr
|
||||
collection_addition: notifiarr
|
||||
collection_removing: notifiarr
|
||||
```
|
@ -0,0 +1,29 @@
|
||||
There are multiple different Library Operations you can have preformed on each of your libraries.
|
||||
|
||||
You can define which operations you want to run under the `operations` attribute you can define per library.
|
||||
|
||||
A simple example of using some operations is below:
|
||||
```yaml
|
||||
libraries:
|
||||
Movies:
|
||||
metadata_path:
|
||||
- git: meisnate12/MovieCharts
|
||||
operations:
|
||||
mass_critic_rating_update: tmdb
|
||||
split_duplicates: true
|
||||
```
|
||||
|
||||
The available operations attributes for each library are as follows
|
||||
|
||||
| Name | Attribute | Description | Allowed Values |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| Image Assets For All | `assets_for_all` | Search in assets for images for every item in your library | `true` or `false` |
|
||||
| Delete Collections With Less | `delete_collections_with_less` | Deletes every collection with less then the given number | number greater then 0 |
|
||||
| Delete Unmanaged Collections | `delete_unmanaged_collections` | Deletes every unmanaged collection | `true` or `false` |
|
||||
| Mass Genre Update | `mass_genre_update` | Updates every item's genres in the library to the chosen site's genres | `tmdb`: Use TMDb for Genres<br>`tvdb`: Use TVDb for Genres<br>`omdb`: Use IMDb through OMDb for Genres |
|
||||
| Mass Audience Rating Update | `mass_audience_rating_update` | Updates every item's audience rating in the library to the chosen site's rating | `tmdb`: Use TMDb for Rating<br>`omdb`: Use IMDb through OMDb for Rating |
|
||||
| Mass Critic Rating Update | `mass_critic_rating_update` | Updates every item's critic rating in the library to the chosen site's rating | `tmdb`: Use TMDb for Rating<br>`omdb`: Use IMDb through OMDb for Rating |
|
||||
| Mass Trakt Rating Update | `mass_trakt_rating_update` | Updates every movie/show's user rating in the library to match your custom rating on Trakt if there is one | `true` or `false` |
|
||||
| Split Duplicates | `split_duplicates` | Splits all duplicate movies/shows found in this library | `true` or `false` |
|
||||
| Radarr Add All | `radarr_add_all` | Adds every item in the library to Radarr | `true` or `false` |
|
||||
| Sonarr Add All | `sonarr_add_all` | Adds every item in the library to Sonarr | `true` or `false` |
|
@ -0,0 +1,133 @@
|
||||
Configuring Webhooks is optional but can allow you to receive notifications when certain events happen.
|
||||
|
||||
A `webhooks` mapping is in the root of the config file.
|
||||
|
||||
Below is a `webhooks` mapping example and the full set of attributes:
|
||||
|
||||
```yaml
|
||||
webhooks:
|
||||
error: https://www.myspecialdomain.com/pmm
|
||||
run_start:
|
||||
run_end:
|
||||
collection_creation:
|
||||
collection_addition:
|
||||
collection_removal:
|
||||
```
|
||||
|
||||
| Name | Attribute | Description | Global | Library | Collection |
|
||||
| :--- | :--- | :--- | :---: | :---: | :---: |
|
||||
| [Error](#error-notifications) | `error` | | :heavy_check_mark: | :heavy_check_mark: | :x: |
|
||||
| [Run Start](#run-start-notifications) | `run_start` | | :heavy_check_mark: | :x: | :x: |
|
||||
| [Run End](#run-end-notifications) | `run_end` | | :heavy_check_mark: | :x: | :x: |
|
||||
| [Collection Creation](#collection-notifications) | `collection_creation` | | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
||||
| [Collection Addition](#collection-notifications) | `collection_addition` | | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
||||
| [Collection Removal](#collection-notifications) | `collection_removal` | | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
||||
|
||||
* Each Attribute can be either a webhook url as a string or a comma-separated list of webhooks urls.
|
||||
* To send notifications to [Notifiarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Notifiarr-Attributes) just add `notifiarr` to a webhook instead of the webhook url.
|
||||
|
||||
## Error Notifications
|
||||
|
||||
The Error notification will be sent whenever an error occurs. The payload that is sent is different Depending on which level the error occurs.
|
||||
|
||||
#### JSON Payload
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Global</th>
|
||||
<th>Library</th>
|
||||
<th>Collection</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
```yaml
|
||||
{
|
||||
"error": str, // Error Message
|
||||
"critical": bool // Critical Error
|
||||
}
|
||||
```
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
```yaml
|
||||
{
|
||||
"error": str, // Error Message
|
||||
"critical": bool, // Critical Error
|
||||
"server_name": str, // Server Name
|
||||
"library_name": str // Library Name
|
||||
}
|
||||
```
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
```yaml
|
||||
{
|
||||
"error": str, // Error Message
|
||||
"critical": bool, // Critical Error
|
||||
"server_name": str, // Server Name
|
||||
"library_name": str, // Library Name
|
||||
"collection": str // Collection Name
|
||||
}
|
||||
```
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## Run Start Notifications
|
||||
|
||||
The Run Start notification will be sent at the beginning of every run.
|
||||
|
||||
#### JSON Payload
|
||||
|
||||
```yaml
|
||||
{
|
||||
"start_time": str, // Time Run is started Format "HH:MM"
|
||||
}
|
||||
```
|
||||
|
||||
## Run End Notifications
|
||||
|
||||
The Run End notification will be sent at the end of every run with statistics.
|
||||
|
||||
#### JSON Payload
|
||||
|
||||
```yaml
|
||||
{
|
||||
"start_time": str, // Time Run is started Format "YY-mm-ddTHH:MM:SSZ"
|
||||
"run_time": str, // Time Run took to complete Format "HH:MM"
|
||||
"collections_created": int, // Number of Collections Created
|
||||
"collections_modified": int, // Number of Collections Modified
|
||||
"collections_deleted": int, // Number of Collections Removed
|
||||
"items_added": int, // Number of Items added across all Collections
|
||||
"items_removed": int, // Number of Items removed across all Collections
|
||||
"added_to_radarr": int, // Number of Items added to Radarr
|
||||
"added_to_sonarr": int // Number of Items added to Sonarr
|
||||
}
|
||||
```
|
||||
|
||||
## Collection Notifications
|
||||
|
||||
The Collection Notification will be sent after each collection, containing the following payload.
|
||||
|
||||
#### JSON Payload
|
||||
|
||||
```yaml
|
||||
{
|
||||
"start_time": str, // Time Run is started Format "YY-mm-ddTHH:MM:SSZ"
|
||||
"library_name": str, // Library Name
|
||||
"type": str, // Will be either "movie" or "show"
|
||||
"collection": str, // Collection Name
|
||||
"created": bool, // Was the Collection Created on this run
|
||||
"poster": str, // Base64 Encoded Collection Poster
|
||||
"background": str, // Base64 Encoded Collection Background
|
||||
"additions": [int], // List of TMDb IDs (type=movie) or TVDb IDs (type=show) added to the colleciton
|
||||
"removals": [int] // List of TMDb IDs (type=movie) or TVDb IDs (type=show) removed from the colleciton
|
||||
}
|
||||
```
|
||||
|
||||
* `additions` is only in the payload when `collection_addition` is used.
|
||||
* `removals` is only in the payload when `collection_removing` is used.
|
Loading…
Reference in new issue