TvTimeToTrakt/README.md

52 lines
2.7 KiB
Markdown
Raw Normal View History

2021-04-09 10:46:52 -05:00
# TV Time to Trakt - Import Script
2021-04-09 10:36:28 -05:00
![](https://loch.digital/image_for_external_apps/4342799-01.png)
2021-04-09 10:46:52 -05:00
A Python script to import TV Time tracked episode data into Trakt.TV - using data provided by Whip Media Company via a GDPR request.
2021-04-09 10:36:28 -05:00
# Issues
2021-04-09 10:46:52 -05:00
They'll be a few! This was quickly put together within a few hours or so for personal usage. If you come across anything then let me know in the 'Issue' section, and I'll provide support where possible.
# Notes
1. The script is using limited data provided from a GDPR request - so the accuracy isn't 100%. But you will be prompted to manually pick the Trakt show, when it can't be determined automatically.
2021-04-09 10:46:52 -05:00
2. A delay of 5 seconds is added between each episode to ensure fair use of Trakt's API server - especially with my import of 6,500 episodes. You should adjust this for your own import, but make sure it's at least 1 second to remain within the rate limit.
3. Episodes which have been processed will be saved to a TinyDB file `localStorage.json` - when you restart the script, the program will skip those episodes which have been marked 'imported'.
# Setup
## Get your Data
2021-04-09 10:46:52 -05:00
TV Time's API is not open. In order to get access to your personal data, you will have to request it from TV Time's support via a GDPR request - or maybe just ask for it, whatever works, it's your data.
2021-04-09 10:46:52 -05:00
1. Copy the template provided by [www.datarequests.org](https://www.datarequests.org/blog/sample-letter-gdpr-access-request/) into an email
2. Send it to support@tvtime.com
2021-04-09 10:46:52 -05:00
3. Wait a few working days for their team to process your request
4. Extract the data somewhere safe on your local system
## Register API Access at Trakt
1. Go to "Settings" under your profile
2. Select ["Your API Applications"](https://trakt.tv/oauth/applications)
3. Select "New Application"
2021-04-09 09:35:45 -05:00
4. Provide a name into "Name" e.g John Smith Import from TV Time
5. Paste "urn:ietf:wg:oauth:2.0:oob" into "Redirect uri:"
6. Click "Save App"
2021-04-09 09:35:45 -05:00
7. Make note of your details to be used later.
## Setup Script
2021-04-09 09:18:27 -05:00
### Install Required Libraries
Install the following frameworks via Pip:
2021-04-09 10:46:52 -05:00
1. `pip install trakt`
2. `pip install tinydb`
2021-04-09 09:18:27 -05:00
### Setup Configuration
2021-04-09 09:35:45 -05:00
Create a new file named `config.json` in the same directory of `TimeToTrakt.py`, using the below JSON contents (replace the values with your own).
2021-04-09 09:18:27 -05:00
```
{
"CLIENT_ID": "YOUR_CLIENT_ID",
"CLIENT_SECRET": "YOUR_CLIENT_SECRET",
"GDPR_WORKSPACE_PATH": "DIRECTORY_OF_YOUR_GDPR_REQUEST_DATA",
"TRAKT_USERNAME": "YOUR_TRAKT_USERNAME"
}
```
2021-04-09 10:37:22 -05:00
Then, execute the program using `./python3 TimeToTrakt.py` - make sure to pop back during a long import to provide the correct Trakt TV Show selections.
##### Credit
<a href='https://www.freepik.com/vectors/city'>City vector created by freepik - www.freepik.com</a>