{"id":26919589,"url":"https://github.com/soitora/plexanisync-mapping-assistant","last_synced_at":"2025-04-01T21:37:00.339Z","repository":{"id":164584691,"uuid":"624778790","full_name":"Soitora/PlexAniSync-Mapping-Assistant","owner":"Soitora","description":"TheMovieDB/TheTVDB Mapping Assistant for PlexAniSync, specifically, for contribution to the custom mappings project.","archived":false,"fork":false,"pushed_at":"2024-10-29T20:25:08.000Z","size":354,"stargazers_count":9,"open_issues_count":6,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-29T22:48:14.579Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Soitora.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-07T08:32:31.000Z","updated_at":"2024-10-09T13:57:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"74dd06ab-1ebd-4d40-867e-dbb4f7996bd2","html_url":"https://github.com/Soitora/PlexAniSync-Mapping-Assistant","commit_stats":{"total_commits":109,"total_committers":3,"mean_commits":"36.333333333333336","dds":"0.22935779816513757","last_synced_commit":"3ff5e18f23fa1447b5b2b335de16ade0287afff2"},"previous_names":["soitora/plexanisync-mapping-assistant"],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Soitora%2FPlexAniSync-Mapping-Assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Soitora%2FPlexAniSync-Mapping-Assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Soitora%2FPlexAniSync-Mapping-Assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Soitora%2FPlexAniSync-Mapping-Assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Soitora","download_url":"https://codeload.github.com/Soitora/PlexAniSync-Mapping-Assistant/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246715360,"owners_count":20822253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-01T21:36:59.771Z","updated_at":"2025-04-01T21:37:00.333Z","avatar_url":"https://github.com/Soitora.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003ca href=\"https://github.com/RickDB/PlexAniSync/\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/RickDB/PlexAniSync/master/logo.png\" alt=\"PlexAniSync logo\" title=\"PlexAniSync logo\" width=\"80\"/\u003e\n\u003c/a\u003e\n\n# [PlexAniSync](https://github.com/RickDB/PlexAniSync/) Mapping Assistant\nTheMovieDB/TheTVDB Mapping Assistant for [PlexAniSync](https://github.com/RickDB/PlexAniSync/), specifically, for contribution to the [custom mappings](https://github.com/RickDB/PlexAniSync-Custom-Mappings) project.\n\nAlso check out [Plex GUID Grabber](https://github.com/Soitora/Plex-GUID-Grabber/) to grab the show GUID easily, requires something that can run userscript in your browser, i.e. **Violentmonkey** / **Tampermonkey**.\n\n\u003cimg src=\"https://github.com/Soitora/PlexAniSync-Mapping-Assistant/assets/10836780/8cf5acc2-fb19-483e-883e-53ceadfc7e94\" alt=\"Assistant - Metadata selection\" title=\"Assistant - Metadata selection\" width=\"500\"/\u003e\n\u003cimg src=\"https://github.com/Soitora/PlexAniSync-Mapping-Assistant/assets/10836780/2f02f5a8-cb23-47d5-b846-c96bd6ba4a48\" alt=\"Assistant - Results from Movie search\" title=\"Assistant - Results from Movie search\" width=\"500\"/\u003e\n\n### Repositories\n\n[![RickDB/PlexAniSync - GitHub](https://github-readme-stats.vercel.app/api/pin/?username=RickDB\u0026repo=PlexAniSync\u0026bg_color=161B22\u0026text_color=c9d1d9\u0026title_color=0877d2\u0026icon_color=0877d2\u0026border_radius=8\u0026hide_border=true)](https://github.com/RickDB/PlexAniSync/)\n[![RickDB/PlexAniSync-Custom-Mappings - GitHub](https://github-readme-stats.vercel.app/api/pin/?username=RickDB\u0026repo=PlexAniSync-Custom-Mappings\u0026bg_color=161B22\u0026text_color=c9d1d9\u0026title_color=0877d2\u0026icon_color=0877d2\u0026border_radius=8\u0026hide_border=true)](https://github.com/RickDB/PlexAniSync-Custom-Mappings/)\n[![Soitora/Plex-GUID-Grabber - GitHub](https://github-readme-stats.vercel.app/api/pin/?username=Soitora\u0026repo=Plex-GUID-Grabber\u0026bg_color=161B22\u0026text_color=c9d1d9\u0026title_color=0877d2\u0026icon_color=0877d2\u0026border_radius=8\u0026hide_border=true)](https://github.com/Soitora/Plex-GUID-Grabber/)\n\n\n\u003c/div\u003e\n\u003cdiv align=\"left\"\u003e\n\n## Quick Start\n\n### docker\n\n1) Copy/Rename [default.yaml.example](docker/default.yaml.example) to `default.yaml`\n2) Update `default.yaml` as needed.\n3) Copy/Rename [.env.example](docker/.env.example) to `.env`\n4) Update `.env` as needed.\n5) Use provided [docker-compose.yml](docker/docker-compose.yml)\n6) Start app with `docker compose run plexanisync-mapping-assistant`\n   * **NOTE: If you bring the container up with `docker compose up` you will be unable to interact with the terminal app**\n\n## Guide\n\n### Step 1: Prerequisites\nMake sure you have `Node.js` and `npm` installed on your machine.\nIf not, you can download and install them from [Node.js official website](https://nodejs.org/).\n\n### Step 2: Clone the Repository\nClone the repository to your local machine using the following command:\n\n```bash\ngit clone https://github.com/Soitora/PlexAniSync-Mapping-Assistant.git\n```\n\n### Step 3: Navigate to Project Directory\nChange into the project directory:\n\n```bash\ncd PlexAniSync-Mapping-Assistant\n```\n\n### Step 4: Install Dependencies\nRun the following command to install project dependencies:\n\n```bash\nnpm install\n```\n\n### Step 5: Create .env file\nCopy the provided `.env.example` file to a new file named `.env`:\n\n```bash\ncp .env.example .env\n```\n\n### Step 6: Edit .env File\nOpen the `.env` file in a text editor and fill in the environment variables with appropriate values.\n\n\u003c/div\u003e\n\n\u003e [!NOTE]\n\u003e- You do not need both `TMDB_APIKEY` and `TVDB_APIKEY` to run this, only one is required at minimum.\n\u003e- You do not need to tweak/add `DUMMY_QUERY` unless that doesn't work for you.\n\u003e- Both `PLEX_TOKEN` and `PLEX_API` is also optional, but highly recommended for `guid` in the output.\n\n\u003cdiv align=\"left\"\u003e\n\n### Step 7: Configuration\n\nYou can copy `config/default.yaml.example` as `config/default.yaml` to use custom settings.\nRead [here](https://github.com/node-config/node-config/wiki/Configuration-Files) for more regarding configuration files.\n\n#### Settings:\n- `preferMetadata`\n  - Possible values: `tmdb`, `tvdb`\n  - Type: `string`\n- `preferMedia`\n  - Possible values: `tv`, `movie`\n  - Type: `string`\n- `copyResults`\n  - Possible values: `true`, `false`\n  - Type: `boolean`\n- `saveResults`\n  - Possible values: `true`, `false`\n  - Type: `boolean`\n- `dualOutput` (requires `saveResults` being `true` in prompt)\n  - Possible values: `true`, `false`\n  - Type: `boolean`\n- `inputFilePath`\n  - A valid path to a TXT input file, see the README example.\n  - Type: `string`\n- `outputFilePath`\n  - A valid path for the output YAML files, see the README example.\n  - Type: `string`\n\n#### Default config:\n```yaml\nuserConfig:\n  preferMetadata: \"tmdb\"\n  preferMedia: \"tv\"\n  copyResults: true\n  saveResults: false\n  dualOutput: true\n  inputFilePath: \"batch/input.txt\"\n  outputFilePath: \"batch/output/\"\n\n```\n\n#### Examples:\n\n##### Changing metadata agent\nThis 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\n\n```yaml\nuserConfig:\n  preferMetadata: \"tvdb\"\n  saveResults: true\n```\n\n##### Changing output paths\nThis is useful if you for example you want the processed files to be output to a folder on your Desktop\n\n```yaml\nuserConfig:\n  inputFilePath: \"C:/Users/USER/Desktop/Scraper/input.txt\"\n  outputFilePath: \"C:/Users/USER/Desktop/Scraper/\"\n```\n\n### Step 8: Run the Assistant\nYou can now run the mapping assistant using the following command:\n\n```bash\nnpm run assistant\n```\n\n### Auto-scraping (Optional)\nIf 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.\n\nMake sure that you fill `batch\\input.txt` with a newline-seperated list of IDs.\n\n```bash\nnpm run auto\n```\n\n### Debugging (Optional)\nIf you need to debug and test towards API directly, you can use the following command:\n\n```bash\nnpm run debug\n```\n\n### Testing (Optional)\nTo run tests to make sure the API is spitting out the correct information, use the following command:\n\n```bash\nnpm test\n```\n\n\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n\n## Scripts\n\n\u003cdiv align=\"left\"\u003e\n\n- `assistant`: Runs the assistant script\n- `debug`: Runs the debug script to see raw outputs of APIs\n\n\u003c/div\u003e\n\n## Issues\nIf you have any issues, please open a new issue in the [Issues](https://github.com/Soitora/PlexAniSync-Mapping-Assistant/issues) section of this repository.\n\n### Credits\n\nThank you to all the people who have contributed!\n\n\u003ca href=\"https://github.com/Soitora/PlexAniSync-Mapping-Assistant/graphs/contributors\"\u003e\n    \u003cimg src=\"https://contrib.rocks/image?repo=Soitora/PlexAniSync-Mapping-Assistant\" alt=\"PlexAniSync Mapping Assistant contributors\" title=\"PlexAniSync Mapping Assistant contributors\"/\u003e\n\u003c/a\u003e\n\n## License\n\u003cpre\u003e\nCopyright © 2023 Soitora\n\nThis Source Code Form is subject to the terms of the Mozilla Public\nLicense, v. 2.0. If a copy of the MPL was not distributed with this\nfile, You can obtain one at http://mozilla.org/MPL/2.0/.\n\u003c/pre\u003e\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoitora%2Fplexanisync-mapping-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoitora%2Fplexanisync-mapping-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoitora%2Fplexanisync-mapping-assistant/lists"}