PlexAniSync Mapping Assistant
TheMovieDB/TheTVDB Mapping Assistant for PlexAniSync, specifically, for contribution to the custom mappings project.
Also check out Plex GUID Grabber to grab the show GUID easily, requires something that can run userscript in your browser, i.e. Violentmonkey / Tampermonkey.
- Copy/Rename default.yaml.example to
default.yaml - Update
default.yamlas needed. - Copy/Rename .env.example to
.env - Update
.envas needed. - Use provided docker-compose.yml
- Start app with
docker compose run plexanisync-mapping-assistant- NOTE: If you bring the container up with
docker compose upyou will be unable to interact with the terminal app
- NOTE: If you bring the container up with
Make sure you have Node.js and npm installed on your machine.
If not, you can download and install them from Node.js official website.
Clone the repository to your local machine using the following command:
git clone https://github.com/Soitora/PlexAniSync-Mapping-Assistant.gitChange into the project directory:
cd PlexAniSync-Mapping-AssistantRun the following command to install project dependencies:
npm installCopy the provided .env.example file to a new file named .env:
cp .env.example .envOpen the .env file in a text editor and fill in the environment variables with appropriate values.
Note
- You do not need both
TMDB_APIKEYandTVDB_APIKEYto run this, only one is required at minimum. - You do not need to tweak/add
DUMMY_QUERYunless that doesn't work for you. - Both
PLEX_TOKENandPLEX_APIis also optional, but highly recommended forguidin the output.
You can copy config/default.yaml.example as config/default.yaml to use custom settings.
Read here for more regarding configuration files.
preferMetadata- Possible values:
tmdb,tvdb - Type:
string
- Possible values:
preferMedia- Possible values:
tv,movie - Type:
string
- Possible values:
copyResults- Possible values:
true,false - Type:
boolean
- Possible values:
saveResults- Possible values:
true,false - Type:
boolean
- Possible values:
dualOutput(requiressaveResultsbeingtruein prompt)- Possible values:
true,false - Type:
boolean
- Possible values:
inputFilePath- A valid path to a TXT input file, see the README example.
- Type:
string
outputFilePath- A valid path for the output YAML files, see the README example.
- Type:
string
userConfig:
preferMetadata: "tmdb"
preferMedia: "tv"
copyResults: true
saveResults: false
dualOutput: true
inputFilePath: "batch/input.txt"
outputFilePath: "batch/output/"
This is useful if you for example only want to use TVDB, and maybe always save results to a file as well, then you can change
userConfig:
preferMetadata: "tvdb"
saveResults: trueThis is useful if you for example you want the processed files to be output to a folder on your Desktop
userConfig:
inputFilePath: "C:/Users/USER/Desktop/Scraper/input.txt"
outputFilePath: "C:/Users/USER/Desktop/Scraper/"You can now run the mapping assistant using the following command:
npm run assistantIf you would prefer to input a large number of IDs, and have the program output a file for you, you can do it using this script.
Make sure that you fill batch\input.txt with a newline-seperated list of IDs.
npm run autoIf you need to debug and test towards API directly, you can use the following command:
npm run debugTo run tests to make sure the API is spitting out the correct information, use the following command:
npm testassistant: Runs the assistant scriptdebug: Runs the debug script to see raw outputs of APIs
If you have any issues, please open a new issue in the Issues section of this repository.
Thank you to all the people who have contributed!
Copyright © 2023 Soitora This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.