/justlist

handful of scripts for filtering Trakt watchlist with providers

Primary LanguagePythonApache License 2.0Apache-2.0

JustList

Series of short scripts for comparing Trakt watchlist to viewing providers (data from JustWatch).

How to Run

Initial Setup

After cloning the repo, get Trakt API keys for your account, and populate these in a file named .trakt_creds.json.

{
  "client_id": "<client_id>",
  "secret_key": "<secret_key>"
}

Next, run justwatch_providers.py to populate the providers.json file, and run trakt_watchlist.py to populate the watchlist.json file.

Execute

Simply run main.py and it will print the movies and providers. The data is cached in json files, so subsequent runs will not peg the APIs, but you can grep results to your hearts content.

Note that I have yet to add any timeouts to prevent being cut-off from too many requests to JustWatch, so be advised if your list is long.

Later calls

Since everything is cached in json files, you will want to rerun trakt_watchlist.py if you have updates to it. You can also delete movie_providers.json if you believe that data needs updating.

The Scripts

justwatch_id.py

updates the movie_ids.json file with the justwatch id of a given movie file.

justwatch_info.py

updates the movie_providers.json file with the current providers of a given movie.

justwatch_providers.py

writes the justwatch metadata of all providers to the providers.json file.

trak_watchlist.py

write out your watchlist to trakt_watchlist.py.

main.py

uses the json files above to print out your movies from your trakt watchlist, and the available providers you are able to watch it on. If the movie is not populated in the movie_ids.json or movie_providers.json, it will call the necessary scripts above.

Sample output

$ python main.py  | grep -i netflix | head -1
Dracula Untold, Apple TV (buy), Apple TV (rent), Google Play Movies (buy), Google Play Movies (rent), Vudu (buy), Vudu (rent), Netflix (flatrate), Amazon Video (buy), Amazon Video (rent), Microsoft Store (buy), Microsoft Store (rent), YouTube (buy), YouTube (rent), Redbox (buy), Redbox (rent), AMC on Demand (buy), AMC on Demand (rent), DIRECTV (buy), DIRECTV (rent)