Added CHANGELOG, updated README, bump to 2.2.1

This commit is contained in:
burkasaurusrex 2020-10-28 01:33:50 -06:00
parent a6d4d62047
commit 199251889a
4 changed files with 83 additions and 82 deletions

View file

@ -3,6 +3,7 @@
*.spec *.spec
**/__pycache__ **/__pycache__
/.vscode /.vscode
CHANGELOG.md
README.md README.md
.gitignore .gitignore
.git .git

59
CHANGELOG.md Normal file
View file

@ -0,0 +1,59 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [2.2.1] - 2020-10-28
### Added
- CHANGELOG.md
## [2.2.0] - 2020-10-27
### Added
- `trakt_trending` list support
## [2.1.1] - 2020-10-27
### Fixed
- Broken `tmdb_collection` list support due to typo
- Type mismatch error when parsing TMDb IDs
- Upgrade PlexAPI dependency to 4.1.2
## [2.1.0] - 2020-10-26
### Added
- `tautulli` list support
### Changed
- Disambiguated TMDb collection and lists from actors (`tmdb_actor`, `tmdb_biography`, and `tmdb_profile`)
- Conformed `tmdbId` to `tmdb_id`
### Fixed
- Some broken `imdb_list` pagination
- Some broken Plex filters and subfilters
## [2.0.0] - 2020-10-24
### Added
- `tmdb_list` support
- More robust show support
- Ability to add individual movies or shows with `tmdb_movie`, `tmdb_show`, or `tvbd_show`
- `sync_mode` support to allow users to `append` or `sync` items with lists
- `name_mapping` support to allow users to specific filename mappings
- `imdb_list` pagination support
### Changed
- Conformed to `snake_case` causing the following `config` variables to renamed:
- `old-tag` -> `new_tag`
- `imdb-list` -> `imdb_list`
- `trakt-list` -> `trakt_list`
- `video-resolution` -> `video_resolution`
- `audio-language` -> `audio_language`
- `subtitle-language` -> `subtitle_language`
- `tmdb-poster` -> `tmdb_poster`
- `image-server` -> `image_server`
- `poster-directory` -> `poster_directory`
- Disambiguated TMDb collections from lists (`tmdb-list` -> `tmdb_collection`)
### Deprecated
- `details` subkey - removed key altogether to promote a flatter file structure
### Fixed
- Trakt authentication check

103
README.md
View file

@ -1,5 +1,5 @@
# Plex Auto Collections # Plex Auto Collections
##### Version 2.2.0 ##### Version 2.2.1
Plex Auto Collections is a Python 3 script that works off a configuration file to create/update Plex collections. Collection management with this tool can be automated in a varying degree of customizability. Supports IMDB, TMDb, and Trakt lists as well as built in Plex filters such as actors, genres, year, studio and more. Plex Auto Collections is a Python 3 script that works off a configuration file to create/update Plex collections. Collection management with this tool can be automated in a varying degree of customizability. Supports IMDB, TMDb, and Trakt lists as well as built in Plex filters such as actors, genres, year, studio and more.
![https://i.imgur.com/iHAYFIZ.png](https://i.imgur.com/iHAYFIZ.png) ![https://i.imgur.com/iHAYFIZ.png](https://i.imgur.com/iHAYFIZ.png)
@ -9,15 +9,15 @@ Plex Auto Collections is a Python 3 script that works off a configuration file t
- [Local Installation](#local-installation) - [Local Installation](#local-installation)
- [Docker](#docker) - [Docker](#docker)
2. [Configuration](#configuration) 2. [Configuration](#configuration)
1. [Collections](#collections) - [Collections](#collections)
- [List Type](#list-type-collection-attribute) - [List Type](#list-type-collection-attribute)
- [Plex Collection (List Type)](#plex-collection-list-type) - [Plex Collection (List Type)](#plex-collection-list-type)
- [TMDb Collection (List Type)](#tmdb-collection-list-type) - [TMDb Collection (List Type)](#tmdb-collection-list-type)
- [TMDb Actor (List Type)](#tmdb-actor-list-type) - [TMDb Actor (List Type)](#tmdb-actor-list-type)
- [TMDb List (List Type)](#tmdb-list-list-type) - [TMDb List (List Type)](#tmdb-list-list-type)
- [TMDb Movie (List Type)](#tmdb-movie-list-type) - [TMDb Movie (List Type)](#tmdb-movie-list-type)
- [TMDb Show (List Type)](#tmdb-show-list-type) - [TMDb Show (List Type)](#tmdb-show-list-type)
- [TVDb Show (List Type)](#tvdb-show-list-type) - [TVDb Show (List Type)](#tvdb-show-list-type)
- [IMDb List or Search (List Type)](#imdb-list-or-search-list-type) - [IMDb List or Search (List Type)](#imdb-list-or-search-list-type)
- [Trakt List (List Type)](#trakt-list-list-type) - [Trakt List (List Type)](#trakt-list-list-type)
- [Trakt Trending List (List Type)](#trakt-trending-list-list-type) - [Trakt Trending List (List Type)](#trakt-trending-list-list-type)
@ -32,16 +32,15 @@ Plex Auto Collections is a Python 3 script that works off a configuration file t
- [Poster (Collection Attribute)](#poster-collection-attribute) - [Poster (Collection Attribute)](#poster-collection-attribute)
- [Background (Collection Attribute)](#background-collection-attribute) - [Background (Collection Attribute)](#background-collection-attribute)
- [Name Mapping (Collection Attribute)](#name-mapping-collection-attribute) - [Name Mapping (Collection Attribute)](#name-mapping-collection-attribute)
2. [Plex](#plex) - [Plex](#plex)
3. [Image Server](#image-server) - [Image Server](#image-server)
- [Poster and/or Background Directory](#poster-andor-background-directory) - [Poster and/or Background Directory](#poster-andor-background-directory)
- [Image Directory](#image-directory) - [Image Directory](#image-directory)
4. [TMDb](#tmdb) - [TMDb](#tmdb)
5. [Tautulli](#tautulli) - [Tautulli](#tautulli)
6. [Trakt](#trakt) - [Trakt](#trakt)
7. [Radarr](#radarr) - [Radarr](#radarr)
3. [Version 2.0.0 Changes](#version-200-changes) 3. [Acknowledgements](#acknowledgements)
4. [Acknowledgements](#acknowledgements)
# Usage # Usage
@ -709,6 +708,8 @@ Lastly, if you need help finding your Plex authentication token, please see Plex
An `image_server` mapping in the config is optional. There are two ways to store your posters and background. Using `poster_directory` and/or `background_directory` or by using `image_directory`. An `image_server` mapping in the config is optional. There are two ways to store your posters and background. Using `poster_directory` and/or `background_directory` or by using `image_directory`.
Note that attempting to upload larger images files (~10MB+) can sometimes throw errors like `[Errno 32] Broken pipe` in certain environments. Resize your images accordingly if you run into any issues.
### Poster and/or Background Directory ### Poster and/or Background Directory
By placing images in the `poster_directory` or `background_directory`, the script will attempt to match image names to collection names. For example, if there is a collection named `Jurassic Park` and the images `../config/posters/Jurassic Park.png` and `../config/backgrounds/Jurassic Park.png`, the script will upload those images to Plex. By placing images in the `poster_directory` or `background_directory`, the script will attempt to match image names to collection names. For example, if there is a collection named `Jurassic Park` and the images `../config/posters/Jurassic Park.png` and `../config/backgrounds/Jurassic Park.png`, the script will upload those images to Plex.
@ -775,6 +776,8 @@ trakt: # Opt
On the first run, the script will walk the user through the OAuth flow by producing a Trakt URL for the user to follow. Once authenticated at the Trakt URL, the user needs to return the code to the script. If the code is correct, the script will populate the `authorization` subattributes to use in subsequent runs. On the first run, the script will walk the user through the OAuth flow by producing a Trakt URL for the user to follow. Once authenticated at the Trakt URL, the user needs to return the code to the script. If the code is correct, the script will populate the `authorization` subattributes to use in subsequent runs.
For docker users, please note that the docker container runs with the `--update` option and is designed for no user interaction. To authenticate Trakt the first time, you need run the container with the `-it` flags and run `plex_auto_collections.py` without the `--update` option and walk through the OAuth flow mentioned above. Once you have the Trakt authentication data saved into the YAML, you'll be able to run the container normally.
## Radarr ## Radarr
When parsing TMDb, IMDb, or Trakt lists, the script will finds movies that are on the list but missing from Plex. If a TMDb and Radarr config are supplied, then you can add those missing movies to Radarr. When parsing TMDb, IMDb, or Trakt lists, the script will finds movies that are on the list but missing from Plex. If a TMDb and Radarr config are supplied, then you can add those missing movies to Radarr.
@ -814,70 +817,6 @@ The `add_movie` key allows missing to movies to be added to Radarr. If this key
Note that Radarr support has not been tested with extensively Trakt lists and Sonarr support has not yet been implemented. Note that Radarr support has not been tested with extensively Trakt lists and Sonarr support has not yet been implemented.
# Version 2.0.0 Changes
With version 2.0.0 we added many new tags, made all the tag names unified casing, removed details in favor of just having those tags as high level tags. Below is a list of all the tag changes.
`old-tag` -> `new_tag`
`tmdb-list` -> `tmdb_collection`
`imdb-list` -> `imdb_list`
`trakt-list` -> `trakt_list`
`video-resolution` -> `video_resolution`
`audio-language` -> `audio_language`
`subtitle-language` -> `subtitle_language`
`tmdb-poster` -> `tmdb_poster`
`image-server` -> `image_server`
`poster-directory` -> `poster_directory`
### Example Version 2.0.0 Changes
```yaml
collections:
Jurassic Park:
tmdb-list: https://www.themoviedb.org/collection/328
details:
tmdb-summary: 328
poster: https://i.imgur.com/QMjbyCX.png
1080p Documentaries:
genres: Documentary
subfilters:
video-resolution: 1080
details:
summary: A collection of 1080p Documentaries
Daniel Craig only James Bonds:
imdb-list: https://www.imdb.com/list/ls006405458/
subfilters:
actors: Daniel Craig
```
The config above would be changed to below for Version 2.0.0
```yaml
collections:
Jurassic Park:
tmdb_collection: https://www.themoviedb.org/collection/328
tmdb_summary: 328
poster: https://i.imgur.com/QMjbyCX.png
1080p Documentaries:
genres: Documentary
subfilters:
video_resolution: 1080
summary: A collection of 1080p Documentaries
Daniel Craig only James Bonds:
imdb_list: https://www.imdb.com/list/ls006405458/
subfilters:
actors: Daniel Craig
```
# Acknowledgements # Acknowledgements
- [vladimir-tutin](https://github.com/vladimir-tutin) for writing substantially all of the code in this fork - [vladimir-tutin](https://github.com/vladimir-tutin) for writing substantially all of the code in this fork
- [deva5610](https://github.com/deva5610) for writing [IMDBList2PlexCollection](https://github.com/deva5610/IMDBList2PlexCollection) which prompted the idea for a - [deva5610](https://github.com/deva5610) for writing [IMDBList2PlexCollection](https://github.com/deva5610/IMDBList2PlexCollection) which prompted the idea for a
@ -886,3 +825,5 @@ configuration based collection manager
- [pkkid](https://github.com/pkkid) and all other contributors for [python-plexapi](https://github.com/pkkid/python-plexapi) - [pkkid](https://github.com/pkkid) and all other contributors for [python-plexapi](https://github.com/pkkid/python-plexapi)
- [AnthonyBloomer](https://github.com/AnthonyBloomer) and all other contributors for [tmdbv3api](https://github.com/AnthonyBloomer/tmdbv3api) - [AnthonyBloomer](https://github.com/AnthonyBloomer) and all other contributors for [tmdbv3api](https://github.com/AnthonyBloomer/tmdbv3api)
- [fuzeman](https://github.com/fuzeman) and all other contributors for [trakt.py](https://github.com/fuzeman/trakt.py) (and for [Plex-Trakt-Scrobbler](https://github.com/trakt/Plex-Trakt-Scrobbler)!) - [fuzeman](https://github.com/fuzeman) and all other contributors for [trakt.py](https://github.com/fuzeman/trakt.py) (and for [Plex-Trakt-Scrobbler](https://github.com/trakt/Plex-Trakt-Scrobbler)!)
- [bearlikelion](https://github.com/bearlikelion) for writing [popularplex](https://github.com/bearlikelion/popularplex) which prompted Tautulli support
- [blacktwin](https://github.com/blacktwin) for writing [playlist_manager.py](https://github.com/blacktwin/JBOPS/blob/master/fun/playlist_manager.py)

View file

@ -620,7 +620,7 @@ print("| | _/| |/ -_)\ \ / / _ \| || || _|/ _ \ | (__ / _ \| || |/ -_)/ _|
print("| |_| |_|\___|/_\_\ /_/ \_\\\\_,_| \__|\___/ \___|\___/|_||_|\___|\__| \__||_|\___/|_||_|/__/ |") print("| |_| |_|\___|/_\_\ /_/ \_\\\\_,_| \__|\___/ \___|\___/|_||_|\___|\__| \__||_|\___/|_||_|/__/ |")
print("| |") print("| |")
print("|===================================================================================================|") print("|===================================================================================================|")
print("| Version 2.2.0") print("| Version 2.2.1")
print("| Locating config...") print("| Locating config...")
config_path = None config_path = None
app_dir = os.path.dirname(os.path.abspath(__file__)) app_dir = os.path.dirname(os.path.abspath(__file__))