trakt-sync

command module
v1.4.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 21, 2025 License: MIT Imports: 9 Imported by: 0

README

Installation

go install github.com/mfederowicz/trakt-sync@latest

Configuration

After install, we should create API app and save credentials in config file ($HOME/trakt-sync.toml):

client_id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
client_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
token_path = "~/.config/trakt-sync/token.json"
errorCode = 0
warningCode = 0
per_page = 500

Usage

trakt-sync supports a -config flag whose value should correspond to a TOML file. If not provided, trakt-sync will try to use a global config file (assumed to be located at $HOME/trakt-sync.toml). Otherwise, if no configuration TOML file is found then trakt-sync uses a built-in parameters depends on selected module.

Command Line Flags

trakt-sync accepts the following command line parameters:

  • -config [PATH] - path to config file in TOML format, defaults to $HOME/trakt-sync.toml if present.
  • -version - get trakt-sync version.

Command Line Commands

trakt-sync accepts the following command line commands/modules:

  • help - Help on the trakt-sync command and subcommands.
  • history - Returns movies and episodes that a user has watched, sorted by most recent.
  • watchlist - Returns all items in a user's watchlist filtered by type.
  • collection - Get all collected items in a user's collection.
  • users - Returns all data for a user.
  • people - Returns all data for selected person.
  • calendars - By default, the calendar will return all shows or movies for the specified time period and can be global or user specific.
  • search - Searches can use queries or ID lookups.
  • lists - Returns data about lists: trending, popular, list, likes, like, items, comments.

Sample export usage

Export all tvshows from the watching history:
$ ./trakt-sync history -t shows -> export_history_shows_imdb.json
Export all episodes from the watching history:
$ ./trakt-sync history -t episodes -f tmdb -> export_history_episodes_tmdb.json
$ ./trakt-sync history -t episodes -f imdb -> export_history_episodes_imdb.json
Export all movies from watchlist:
$ ./trakt-sync watchlist -t movies -f tmdb -> export_watchlist_movies_tmdb.json 
$ ./trakt-sync watchlist -t movies -f imdb -> export_watchlist_movies_imdb.json
Export movies or shows from collection extended with metadata:
$ ./trakt-sync collection -t movies --ex metadata
$ ./trakt-sync collection -t shows --ex metadata
Export movies or shows or episodes from user lists:
$ ./trakt-sync users -a lists -u username -i 123456 -t episodes
$ ./trakt-sync users -a lists -u username -i 123456 -t shows
$ ./trakt-sync users -a lists -u username -i 123456 -t movies
Fetch lists for selected user:
$ ./trakt-sync users -a lists -u username 
Fetch saved filters for selected user:
$ ./trakt-sync users -a saved_filters -u username 
Fetch stats for selected user:
$ ./trakt-sync users -a stats -u sean 
Fetch watched movies for selected user:
$ ./trakt-sync users -a watched -t movies -u sean 
Fetch watched shows for selected user:
$ ./trakt-sync users -a watched -t shows -u sean 
Fetch watched shows for selected user without seasons:
$ ./trakt-sync users -a watched -t shows -u sean --ex noseasons
Export people data:
$ ./trakt-sync people -a updates -start_date 2024-10-13
$ ./trakt-sync people -a updated_ids -start_date 2024-10-13
$ ./trakt-sync people -a summary -i john-wayne
$ ./trakt-sync people -a movies -i john-wayne
$ ./trakt-sync people -a shows -i john-wayne
$ ./trakt-sync people -a lists -i john-wayne
Export all or my calendars:
$ ./trakt-sync calendars -a all-shows -> export_calendars_shows_20240707_7.json
$ ./trakt-sync calendars -a all-new-shows -> export_calendars_new_shows_20240707_7.json
$ ./trakt-sync calendars -a all-season-premieres -> export_calendars_season_premieres_20240707_7.json
$ ./trakt-sync calendars -a all-finales -> export_calendars_finales_20240707_7.json 
$ ./trakt-sync calendars -a all-movies -> export_calendars_movies_20240707_7.json  
$ ./trakt-sync calendars -a all-dvd -> export_calendars_dvd_20240707_7.json
Export search result by Text Query:
$  ./trakt-sync search -a text-query -t movie -q freddy --field title
$  ./trakt-sync search -a text-query -t movie -t show -q freddy --field tagline
$  ./trakt-sync search -a text-query -t movie -t show -t list -q freddy --field name
$  ./trakt-sync search -a text-query -t movie -t show -t list -q freddy --field title
$  ./trakt-sync search -a text-query -t person -t list -q freddy --field name
$  ./trakt-sync search -a text-query -t movie -t show -t list -q freddy --field title
Export search result by Id lookup:
$ ./trakt-sync search -a id-lookup -i 12601 -t movie -t show
$ ./trakt-sync search -a id-lookup --id_type tvdb -i 12601 -t movie -t show
$ ./trakt-sync search -a id-lookup --id_type imdb -i 12601 -t movie
$ ./trakt-sync search -a id-lookup --id_type imdb -i 12601 -t podcast
$ ./trakt-sync search -a id-lookup --id_type imdb -i tt0266697
$ ./trakt-sync search -a id-lookup --id_type tvdb -i 75725
$ ./trakt-sync search -a id-lookup --id_type tvdb -i 75725 -t podcast
$ ./trakt-sync search -a id-lookup -i 75725 
$ ./trakt-sync search -a id-lookup -i 75725 -t episode
$ ./trakt-sync search -a id-lookup --id_type tmdb -i 254265
Export lists data:
$ ./trakt-sync lists -a trending
$ ./trakt-sync lists -a popular
$ ./trakt-sync lists -a list -trakt_id 2142753
$ ./trakt-sync lists -a likes -trakt_id 2142753
$ ./trakt-sync lists -a like -trakt_id 2142753
$ ./trakt-sync lists -a like -trakt_id 2142753 -remove
$ ./trakt-sync lists -a items -trakt_id 2142753
$ ./trakt-sync lists -a items -trakt_id 2142753 -t movie,show

-- (temp not working - problems with api endpoint)

$ ./trakt-sync lists -a comments -trakt_id 2142753 

License

MIT

Documentation

Overview

Package main github.com/mfederowicz/trakt-sync.

Directories

Path Synopsis
Package buffer used to write buffer bytes and printout logs if exists
Package buffer used to write buffer bytes and printout logs if exists
Package cfg used for process configuration
Package cfg used for process configuration
Package cli for basic cli functions
Package cli for basic cli functions
Package cmds used for commands modules
Package cmds used for commands modules
Package consts used to store const for application
Package consts used to store const for application
Package handlers used to handle module actions
Package handlers used to handle module actions
Package internal used for client and services
Package internal used for client and services
Package printer is replacement for fmt.* functions
Package printer is replacement for fmt.* functions
Package str used for structs
Package str used for structs
Package test used for process tests
Package test used for process tests
Package uri used for url operations
Package uri used for url operations
Package writer used for write operations
Package writer used for write operations

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL