Python command line utility for creating and maintaining dynamic Plex libraries and playlists based on "recipes".
E.g. Create a library or playlist consisting of all movies or tv shows in a Trakt list or on an IMDb chart that exist in your main library, and set the sort titles accordingly (sort only available for libraries).
.. _Trakt: https://trakt.tv/ .. _IMDb: https://imdb.com/
This is still a work in progress, so major changes may occur in new versions.
Python 3
You need a trakt.tv account and an API app: https://trakt.tv/oauth/applications/new
(optional) The Movie Database API
Required for fetching scores, release dates etcetera, for weighted sorting
Required for matching any library items that use the TMDb agent with the items from the lists (if those items do not include a TMDb ID)
Shouldn't be necessary for Trakt, as those usually all have TMDb IDs.
Required for matching movies and some TV shows sourced from IMDb
(optional) TheTVDB API
Required for matching any library items that use the TheTVDB agent with the items from the lists (if those items do not include a TheTVDB ID)
Shouldn't be necessary for Trakt, as those usually all have TVDB IDs.
Required for matching TV shows sourced from IMDb
Clone or download this repo.
Install Python and pip if you haven't already.
Install the requirements:
.. code-block:: shell
pip install -r requirements.txt
Copy config-template.yml to config.yml and edit it with your information.
Check out the recipe examples under recipes/examples. Copy an example to recipes/ and edit it with the appropriate information.
In the base directory, run:
.. code-block:: shell
python3 plexlibrary -h
for details on how to use the utility.
.. code-block:: shell
python3 plexlibrary -l
lists available recipes.
To run a recipe named "movies_trending", run:
.. code-block:: shell
python3 plexlibrary movies_trending
(If you're on Windows, you might have to run as admin)
When you're happy with the results, automate the recipe in cron_ or equivalent (automated tasks in Windows https://technet.microsoft.com/en-us/library/cc748993(v=ws.11).aspx).
.. _cron: https://code.tutsplus.com/tutorials/scheduling-tasks-with-cron-jobs--net-8800
Pro tip! Edit the new library and uncheck "Include in dashboard". Othewise if you start watching something that exists in multiple libraries, all items will show up on the On Deck. This makes it so that only the item in your main library shows up.
See issues.
Original functionality is based on https://gist.github.com/JonnyWong16/b1aa2c0f604ed92b9b3afaa6db18e5fd