# Plex-Meta-Manager-Config-Generator
[![PyPI version](https://badge.fury.io/py/pmm-cfg-gen.svg)](https://badge.fury.io/py/pmm-cfg-gen)
A python application to automatically generate Plex Meta Manager configuration files based on your plex libraries.
Library types supported:
* Movie
* TV
* Music (json format only)
## Install
```shell
pip install pmm-cfg-gen
```
## Running from command line
Usage:
```shell
usage: pmm-cfg-gen [-h] [--plex.serverUrl PLEX.SERVERURL] [--plex.token PLEX.TOKEN] [--plex.lbraries [PLEX.LBRARIES ...]] [--output.path OUTPUT.PATH] [--output.overwrite OUTPUT.OVERWRITE]
[--theMovieDatabase.apiKey THEMOVIEDATABASE.APIKEY] [--thePosterDatabase.enablePro] [--pmm.deltaOnly] [--logLevel {INFO,WARN,DEBUG,CRITICAL}]
options:
-h, --help show this help message and exit
--plex.serverUrl PLEX.SERVERURL
Plex Server fully qualifed URL
--plex.token PLEX.TOKEN
Authentication Token (not claim token) for the plex server
--plex.lbraries [PLEX.LBRARIES ...]
Comma delimited list of libraries to process
--output.path OUTPUT.PATH
Root path to store generated files (default: ./data)
--output.overwrite OUTPUT.OVERWRITE
Overwrite existing files (default: False)
--theMovieDatabase.apiKey THEMOVIEDATABASE.APIKEY
The Movie Database API Key
--thePosterDatabase.enablePro
Enable Pro features for The Poster Database (requires you to be able to login to the site)
--pmm.deltaOnly Only generate files for items that do not already exist in current PMM configs
--logLevel {INFO,WARN,DEBUG,CRITICAL}
Logging Level (default: INFO)
```
## Configuration File
All of the configuration can be stored in a ```config.yaml``` file that uses the following format (with the exception of logLevel).
config.yaml:
```yaml
plex:
serverUrl: <plex server url>
token: <plex token>
libraries:
- { name: "TV Shows", path: "tv", pmm_path: "/pmm_config/tv" }
- { name: "Movies", path: "movies" }
plexMetaManager:
cacheExistingFiles: true
theMovieDatabase:
apiKey: <tmdb api key>
output:
path: <path to store generated output>
```
Notes:
* It is possible to use ENV variables (standard bash syntax supported).
* If The Movia Database API Key is set, collection details are looked up realtime
Example:
```yaml
plex:
serverUrl: ${PLEX_SERVER:-https://plex:32400}
token: ${PLEX_TOKEN}
```
Raw data
{
"_id": null,
"home_page": "https://github.com/ravensorb/Plex-Meta-Manager-Config-Generator",
"name": "pmm-cfg-gen",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<4.0",
"maintainer_email": "",
"keywords": "pmm,plex-meta-manager,plex",
"author": "Shawn Anderson",
"author_email": "sanderson@eye-catcher.com",
"download_url": "https://files.pythonhosted.org/packages/10/37/e326af58808aff131c487f8644f218d6ef771ee2ece3890bb580e1e951fc/pmm_cfg_gen-0.2.6.tar.gz",
"platform": null,
"description": "# Plex-Meta-Manager-Config-Generator\n\n[![PyPI version](https://badge.fury.io/py/pmm-cfg-gen.svg)](https://badge.fury.io/py/pmm-cfg-gen)\n\nA python application to automatically generate Plex Meta Manager configuration files based on your plex libraries.\n\nLibrary types supported:\n\n* Movie\n* TV\n* Music (json format only)\n\n## Install\n\n```shell\npip install pmm-cfg-gen\n```\n\n## Running from command line\n\nUsage:\n\n```shell\nusage: pmm-cfg-gen [-h] [--plex.serverUrl PLEX.SERVERURL] [--plex.token PLEX.TOKEN] [--plex.lbraries [PLEX.LBRARIES ...]] [--output.path OUTPUT.PATH] [--output.overwrite OUTPUT.OVERWRITE]\n [--theMovieDatabase.apiKey THEMOVIEDATABASE.APIKEY] [--thePosterDatabase.enablePro] [--pmm.deltaOnly] [--logLevel {INFO,WARN,DEBUG,CRITICAL}]\n\noptions:\n -h, --help show this help message and exit\n --plex.serverUrl PLEX.SERVERURL\n Plex Server fully qualifed URL\n --plex.token PLEX.TOKEN\n Authentication Token (not claim token) for the plex server\n --plex.lbraries [PLEX.LBRARIES ...]\n Comma delimited list of libraries to process\n --output.path OUTPUT.PATH\n Root path to store generated files (default: ./data)\n --output.overwrite OUTPUT.OVERWRITE\n Overwrite existing files (default: False)\n --theMovieDatabase.apiKey THEMOVIEDATABASE.APIKEY\n The Movie Database API Key\n --thePosterDatabase.enablePro\n Enable Pro features for The Poster Database (requires you to be able to login to the site)\n --pmm.deltaOnly Only generate files for items that do not already exist in current PMM configs\n --logLevel {INFO,WARN,DEBUG,CRITICAL}\n Logging Level (default: INFO)\n\n```\n\n## Configuration File\n\nAll of the configuration can be stored in a ```config.yaml``` file that uses the following format (with the exception of logLevel).\n\nconfig.yaml:\n\n```yaml\nplex:\n serverUrl: <plex server url>\n token: <plex token>\n libraries:\n - { name: \"TV Shows\", path: \"tv\", pmm_path: \"/pmm_config/tv\" }\n - { name: \"Movies\", path: \"movies\" }\n\nplexMetaManager:\n cacheExistingFiles: true\n\ntheMovieDatabase:\n apiKey: <tmdb api key>\n\noutput:\n path: <path to store generated output>\n```\n\nNotes:\n\n* It is possible to use ENV variables (standard bash syntax supported).\n* If The Movia Database API Key is set, collection details are looked up realtime\n\nExample:\n\n```yaml\nplex:\n serverUrl: ${PLEX_SERVER:-https://plex:32400}\n token: ${PLEX_TOKEN}\n```\n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "A script to help automatically generate Plex Meta Manager configuration files for your libraries",
"version": "0.2.6",
"project_urls": {
"Homepage": "https://github.com/ravensorb/Plex-Meta-Manager-Config-Generator",
"Repository": "https://github.com/ravensorb/Plex-Meta-Manager-Config-Generator"
},
"split_keywords": [
"pmm",
"plex-meta-manager",
"plex"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "cb534443e137bbebe0b5d424ceaf6b54346fe919fdfe8a831cc6baae3e8deb98",
"md5": "3fe9b691730f8565498cff797457f759",
"sha256": "c427473a4b2666d6a19d322257aba25990e994544085ba137dece67660c16196"
},
"downloads": -1,
"filename": "pmm_cfg_gen-0.2.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3fe9b691730f8565498cff797457f759",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<4.0",
"size": 53855,
"upload_time": "2023-07-18T20:22:00",
"upload_time_iso_8601": "2023-07-18T20:22:00.807470Z",
"url": "https://files.pythonhosted.org/packages/cb/53/4443e137bbebe0b5d424ceaf6b54346fe919fdfe8a831cc6baae3e8deb98/pmm_cfg_gen-0.2.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1037e326af58808aff131c487f8644f218d6ef771ee2ece3890bb580e1e951fc",
"md5": "51c7522d0f5e459f205aac5ef2802675",
"sha256": "326ae8a1f79b0fb57fade02cee88b4d3fe5c8fe41e945454ab67fd32783f251c"
},
"downloads": -1,
"filename": "pmm_cfg_gen-0.2.6.tar.gz",
"has_sig": false,
"md5_digest": "51c7522d0f5e459f205aac5ef2802675",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<4.0",
"size": 43917,
"upload_time": "2023-07-18T20:22:02",
"upload_time_iso_8601": "2023-07-18T20:22:02.016287Z",
"url": "https://files.pythonhosted.org/packages/10/37/e326af58808aff131c487f8644f218d6ef771ee2ece3890bb580e1e951fc/pmm_cfg_gen-0.2.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-18 20:22:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ravensorb",
"github_project": "Plex-Meta-Manager-Config-Generator",
"github_not_found": true,
"lcname": "pmm-cfg-gen"
}