· 6 years ago · Feb 09, 2020, 10:54 AM
1#!/bin/bash
2
3# Imports trakt watchlist into Ombi
4
5## Trakt API data
6# Enter Trakt Cliend ID you get from Trakt Apps
7TRAKT_CLIENTID="xxxxxx"
8# Enter Trakt users (xxxx, yyyy) and respective Ombi users (xxxx@gmail.com, zzzz) to assign the request, you can enter multiple
9declare -A USERS=([xxxx]=xxxx@gmail.com [yyyy]=zzzz)
10# Enter Ombi base URL
11OMBI_URL="http://localhost:3579"
12# Enter Ombi API key you get from Settings->Ombi page
13OMBI_APIKEY="zzzzzzzzzzzzz"
14
15# Get Trakt Watchlist items and send them to Ombi
16for TRAKT_USER in "${!USERS[@]}"; do
17 curl --silent \
18 --header "Content-Type: application/json" \
19 --header "trakt-api-version: 2" \
20 --header "trakt-api-key: ${TRAKT_CLIENTID}" \
21 "https://api.trakt.tv/users/${TRAKT_USER}/watchlist" |
22 jq -r '.[] | "\(.movie.ids.tmdb) \(.show.ids.tvdb)"' |
23 while read -r tmdb tvdb; do
24 if [ "${tmdb}" != "null" ]; then
25 echo "Adding TheMovieDB $tmdb from $TRAKT_USER Watchlist to Ombi as ${USERS[$TRAKT_USER]}"
26 curl --silent \
27 --header "Content-Type: application/json" \
28 --header "Apikey: ${OMBI_APIKEY}" \
29 --header "UserName: ${USERS[$TRAKT_USER]}" \
30 -X POST -d "{\"theMovieDbId\":${tmdb}}" \
31 "${OMBI_URL}/api/v1/Request/movie"
32 elif [ "${tvdb}" != "null" ]; then
33 echo "Adding TVDB $tvdb from $TRAKT_USER Watchlist to Ombi as ${USERS[$TRAKT_USER]}"
34 curl --silent \
35 --header "Content-Type: application/json" \
36 --header "Apikey: ${OMBI_APIKEY}" \
37 --header "UserName: ${USERS[$TRAKT_USER]}" \
38 -X POST -d "{\"tvDbId\":${tvdb}}" \
39 "${OMBI_URL}/api/v1/Request/tv"
40 fi
41 done
42 printf "\n\n"
43done