A package to migrate your trakt movie history and ratings to letterboxd. Optionally the trakt Watchlist can also be exported. Currently letterboxd only supports importing from a csv, so thats all this package does at the moment. When a proper API is added, I'll update this to push the data right into your letterboxd history.
The easiest way to use this currently is with npx. You can install that globally with yarn global add npx or npm i -g npx. Once you have that, just run:
npx trakt-to-letterboxd -u username -f filenamewhere username is the user whose data you want to export, and filename is the name of the csv file you want to output to.
To export your watchlist use
npx trakt-to-letterboxy -u username -w watchListFilenameBoth options can also be used together:
npx trakt-to-letterboxd -u username -f filename -w watchListFilenameIf only a username is given it will correspond to the following command:
npx trakt-to-letterboxd -u username -f history.csv -w watchlist.csv- schema
- defaults
- headers
- traktHistoryToCsv
- options
- builder
- mapTraktToLetterboxd
- mergeWatchedWithRatings
- mapper
- fetchMovies
Schema for the output csv. Based on https://letterboxd.com/about/importing-data/
Default values for letterboxd object shape
HTTP headers to send with our request to trakt's api
Export a trakt user's history to csv to be uploaded to letterboxd
-
propsObject Properties passed from argv
Returns Promise<void> We dont return anything
The fetch options object (only really needs headers)
The instance of CsvBuilder we'll use to export the data. We need to remap the format of the last watched date to YYYY-MM-DD to comply with letterboxd's formatting
Maps a trakt history entry to a letterboxd history entry
movieTraktRatingMergedHistoryEntityType A trackt movie history entityisWatchlistboolean Whether to map the history or the watchlist, defaults to the history
Returns LetterboxdHistoryEntityType A letterboxd movie history entity
Fetch the ratings of a user and merge them with the movie history based on the movie's Trakt ID
userstring The username we're getting data forwatchedTraktMovieHistoryType A list of movies that have been watched
Returns Promise<TraktRatingMergedHistoryType> Promise that resolves to Trakt movie data with merged rating
Maps an array of trakt history entries to an array of letterboxd history entities
movieListArray<TraktRatingMergedHistoryEntityType> Trakt HistoryisWatchlistboolean Whether to map the history or the watchlist, defaults to the history (optional, defaultfalse)
Returns Array<LetterboxdHistoryEntityType> letterboxd history
Fetches the user's history data from the trakt api
userstring The username we're getting data forisWatchlistboolean Whether to fetch the history or the watchlist, defaults to the history (optional, defaultfalse)
Returns Promise<Array<LetterboxdHistoryEntityType>> Promise that resolves to mapped Letterboxd data