Export Reciperr List to Trakt â
Overview â
Reciperr is a web service that allow you to generate various movie list based on filters such as year, genre. In my opinion, what make it differs is the ability to generate movie list based on criteria that are not present in other service like listrr.pro or mdblist, such as mood
, theme
and keyword
. Imagine being able to generate all movie list from 1990-2020 that has alien
theme and has the keyword alien invasion
, but exclude Animation
and Documentary
genre.
Can I see your Trakt List generated from Reciperr List?
See https://trakt.tv/users/d-sync/lists for a list of Trakt list that I had generated using Reciperr and exported to Trakt list.
Under the hood, Reciperr generate StevenLu compatible JSON list, so you can import it directly to *app like Radarr using Steven Lu Custom List
. However it doesnât quite meet my purpose. Yes I could import the list to Radarr without having to use Trakt List, but I am also running ErsatzTV scheduler and would like to generate a series of Channels (TV stations) based on different theme such as Aliens, Robots, Monsters, Creatures, Wizards, etc. Currently ErsatzTV only support Trakt List, which motivates me to write this program.
What is ErsatzTV?
đĄ ErsatzTV is a full fledged IPTV Live TV server/scheduler that allow you to generate custom EPG (Electronic Program Guide) using your media.
TIP
đĄ You can import Reciperr list to Radarr StevenLu Custom
import list.
Why export Reciperr List to Trakt?
Generate Smart Collection in ErsatzTV that uses these exported Trakt List to create theme based TV stations, e.g. Aliens, Robots, Monsters, Creatures, Wizards
Example of my Trakt List imported to ErsatzTV
Import to Radarr. Although this is not a strong reason because you can import list as
Steven Lu Custom List
. But at least this standardize the way you import list from external source to Radarr.
By now you should have an overall idea on the purpose of using Recipearr list, if you are still interested to generate one yourself and export to your Trakt list, continue reading on!
Prerequisite
Trakt VIP account is required to create Trakt personal list and adding items to the list, which is used by reciperr2trakt
program that I wrote. See https://trakt.docs.apiary.io/introduction/vip-methods for more details.
Clone reciperr2trakt
Repo â
Clone the repo from https://github.com/dsync89/reciperr2trakt
git clone https://github.com/dsync89/reciperr2trakt
Generate Trakt API Token â
Login to Trakt.TV then click on your Profile on the top right, then select Settings
.
Click on Your API Apps
from the horizontal menu bar, then click the New Application
button.
Fill in the numbered fields (1-3) and click the Save App
button (4) when done.
Should I care about Redirect URI
?
đĄ The Redirect URI
is the URL that the user is redirected to after successful OAuth authentcation.
In this case, this can be any URI. This is irrelevant because the reciperr2trakt program uses Device Code Authentication to get OAuth instead of the standard user interactive way.
Copy both Client ID
and Client Secret
as we will need to paste it to the reciperr2trakt
python script later.
Open up app.py
using your favorite text editor, and replace the variable CLIENT_ID
and CLIENT_SECRET
with the values you copied from Trakt.
Now all is ready, whatâs left is to give it an input, which is a JSON file from Reciperr.
Create Reciperr List â
Create an account in Reciperr (https://reciperr.com/) if you havenât done so already.
Click the hamburger icon, then select Create Recipes
As of current, unlike other similar services that provide movie export list feature such as listrr.pro or mdblist, Reciperr offers its own unique additional fields such as Mood
, Theme
and Keyword
that allow you to further filter the movie selection based on these preference. You can even specify include
and exclude
criteria for all of the filters!
About Reciperr Filtering System
Reciperr Filtering system is perfect for those OCD movie connoisseur that have acquired a fine taste in their movie selection. Imagine generating a playlist just for Alien Invasion
, Female Alien
instead of the broader category aliens
, to the niche seduction
, escape room
, magic pot
, robot dog
.
An example of the Filters I used to generate the list Creatures (No Animation, No Aliens)
.
See https://trakt.tv/users/d-sync/lists/reciperr-creatures-theme-movies-1990-2030-no-animation-aliens?sort=released,asc for the exported Trakt List based on these entries.
After specifying the Filters, Save
it and follow the numbered steps below to generate the JSON files containing the movie list.
Finally, copy the URL and paste it to the MOVIE_URL
variable in the python script.
Run the Script â
Run the following command, and you should see the list created in Trakt.
python3 app.py
My Workflow to Generate Reciperr List â
Since I was born in the late 1980âs, I prefer movies from 1990s
that I saw and know of as I grow. I set it to 2030
so I donât have to regenerate the list as the years go by. Reciperr will automatically refresh the list every X
hours.
I used a combination of theme
and keyword
depending on the amount of movies. If there is only a few movies after filtering by theme
, I then add keyword
to increase the hit ratio. Some movies might not associate with a theme but has the right keyword. One good example if wizard/magic/sorcery
where filter by theme
would only list 80+ movies, but specifying magic
as the keyword
will increase the amount to 700+.
How reciperr2trakt
Work â
WARNING
Trakt VIP account is required to create Trakt personal list and adding items to the list. See https://trakt.docs.apiary.io/introduction/vip-methods for more details.
- Get Device Code from Trakt (OAuth) to authenticate your device running the script.
- If this is the first time, you will need to authenticate your PC running the script by entering the code shown in the script via https://trakt.tv/activate when asked to.
- The access code is then save it to a local
access_code.json
file so that it won't ask again the next time. - You only need to authenticate and authorzie again if the code expired or the
access_code.json
is not found.
- Get all your Personal Lists from your Trakt account, and check if the list you wanted to create exist.
- Create the list if it doesn't exist, and get the created list
slug_id
. - If the list already exist, then get the list
slug_id
- Create the list if it doesn't exist, and get the created list
- Parse Reciperr movie list JSON and format it according to Trakt expected
movie
JSON structure. - Add the Trakt formatted
movie
JSON structure array to the user list. - Profit!
Troubleshooting â
Sometimes you might get Error 401 Rate Limit error
, in that case simply re-run the script again.