plexer-cli


Nameplexer-cli JSON
Version 0.0.1a0 PyPI version JSON
download
home_pageNone
SummaryNormalize media files for use with Plex Media Server
upload_time2024-09-29 17:04:06
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords catagorization formatting media organization plex
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Plexer

Normalize media files for use with Plex Media Server.

![GitHub License](https://img.shields.io/github/license/magneticstain/plexer)
![Supported Python Versions](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2Fmagneticstain%2Fplexer%2Frefs%2Fheads%2Fmain%2Fpyproject.toml)

[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/magneticstain/plexer/badge)](https://scorecard.dev/viewer/?uri=github.com/magneticstain/plexer)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/38b2a65ed9ac4c85afc98e259d73474f)](https://app.codacy.com/gh/magneticstain/plexer/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
[![Run Full Suite of Checks and Tests](https://github.com/magneticstain/plexer/actions/workflows/run_full_test_suite.yml/badge.svg)](https://github.com/magneticstain/plexer/actions/workflows/run_full_test_suite.yml)

![GitHub Issues or Pull Requests](https://img.shields.io/github/issues/magneticstain/plexer)
![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/magneticstain/plexer/total)

[![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

## Requirements

### Software Dependencies

Start by creating a virtual environment and installing the required packages. Typically that looks something like:

```bash
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```

### Media Metadata

The biggest requirement before running plexer is to ensure that you've created a `.plexer` file in each of your target directories.

This is a JSON-formatted file that includes the movie metadata required by Plexer to perform its jobs.

#### Plexer File Generator

To easily create the `.plexer` file, you can use the one-liner below while in the movie's directory:

```bash
echo -n "Media Name: ";read MEDIA_NAME;echo -n "Release Year (YYYY): ";read RELEASE_YEAR;echo "{\"name\": \"${MEDIA_NAME}\", \"release_year\": \"${RELEASE_YEAR}\"}" > .plexer
```

It can be modified to support different types of media as well.

## Usage

The source directory is the directory containing the raw media. The destination is where you'd like to save the processed media to.

```text
usage: plexer.py [-h] [-v] [--version] -s SOURCE_DIR -d DESTINATION_DIR

options:
  -h, --help            show this help message and exit
  -v, --verbose         Verbosity (-v, -vv, etc)
  --version             show program's version number and exit
  -s SOURCE_DIR, --source-dir SOURCE_DIR
  -d DESTINATION_DIR, --destination-dir DESTINATION_DIR
```

## Development

### Software Stack

For developing with Plexer, there are several tools that are in use:

1. Build Backend, Packaging, and Dependency Management:
   1. [Hatch](https://hatch.pypa.io/1.12/)
1. Analysis Tools:
   1. [Ruff](https://docs.astral.sh/ruff/)
   1. [Codacy](https://app.codacy.com/gh/magneticstain/plexer/dashboard)
1. Testing:
   1. [Pytest](https://docs.pytest.org/en/latest/)
   1. [Tox](https://tox.wiki/en/stable/)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "plexer-cli",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "catagorization, formatting, media, organization, plex",
    "author": null,
    "author_email": "Josh Carlson <837837+magneticstain@users.noreply.github.com>",
    "download_url": "https://files.pythonhosted.org/packages/42/38/95fe03e3961d0f9c870ceea9148bda71efee9199c4643c43e90fba97a535/plexer_cli-0.0.1a0.tar.gz",
    "platform": null,
    "description": "# Plexer\n\nNormalize media files for use with Plex Media Server.\n\n![GitHub License](https://img.shields.io/github/license/magneticstain/plexer)\n![Supported Python Versions](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2Fmagneticstain%2Fplexer%2Frefs%2Fheads%2Fmain%2Fpyproject.toml)\n\n[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/magneticstain/plexer/badge)](https://scorecard.dev/viewer/?uri=github.com/magneticstain/plexer)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/38b2a65ed9ac4c85afc98e259d73474f)](https://app.codacy.com/gh/magneticstain/plexer/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)\n[![Run Full Suite of Checks and Tests](https://github.com/magneticstain/plexer/actions/workflows/run_full_test_suite.yml/badge.svg)](https://github.com/magneticstain/plexer/actions/workflows/run_full_test_suite.yml)\n\n![GitHub Issues or Pull Requests](https://img.shields.io/github/issues/magneticstain/plexer)\n![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/magneticstain/plexer/total)\n\n[![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n\n## Requirements\n\n### Software Dependencies\n\nStart by creating a virtual environment and installing the required packages. Typically that looks something like:\n\n```bash\npython -m venv .venv\nsource .venv/bin/activate\npip install -r requirements.txt\n```\n\n### Media Metadata\n\nThe biggest requirement before running plexer is to ensure that you've created a `.plexer` file in each of your target directories.\n\nThis is a JSON-formatted file that includes the movie metadata required by Plexer to perform its jobs.\n\n#### Plexer File Generator\n\nTo easily create the `.plexer` file, you can use the one-liner below while in the movie's directory:\n\n```bash\necho -n \"Media Name: \";read MEDIA_NAME;echo -n \"Release Year (YYYY): \";read RELEASE_YEAR;echo \"{\\\"name\\\": \\\"${MEDIA_NAME}\\\", \\\"release_year\\\": \\\"${RELEASE_YEAR}\\\"}\" > .plexer\n```\n\nIt can be modified to support different types of media as well.\n\n## Usage\n\nThe source directory is the directory containing the raw media. The destination is where you'd like to save the processed media to.\n\n```text\nusage: plexer.py [-h] [-v] [--version] -s SOURCE_DIR -d DESTINATION_DIR\n\noptions:\n  -h, --help            show this help message and exit\n  -v, --verbose         Verbosity (-v, -vv, etc)\n  --version             show program's version number and exit\n  -s SOURCE_DIR, --source-dir SOURCE_DIR\n  -d DESTINATION_DIR, --destination-dir DESTINATION_DIR\n```\n\n## Development\n\n### Software Stack\n\nFor developing with Plexer, there are several tools that are in use:\n\n1. Build Backend, Packaging, and Dependency Management:\n   1. [Hatch](https://hatch.pypa.io/1.12/)\n1. Analysis Tools:\n   1. [Ruff](https://docs.astral.sh/ruff/)\n   1. [Codacy](https://app.codacy.com/gh/magneticstain/plexer/dashboard)\n1. Testing:\n   1. [Pytest](https://docs.pytest.org/en/latest/)\n   1. [Tox](https://tox.wiki/en/stable/)\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Normalize media files for use with Plex Media Server",
    "version": "0.0.1a0",
    "project_urls": {
        "Documentation": "https://github.com/magneticstain/plexer#readme",
        "Issues": "https://github.com/magneticstain/plexer/issues",
        "Repository": "https://github.com/magneticstain/plexer.git",
        "Source": "https://github.com/magneticstain/plexer"
    },
    "split_keywords": [
        "catagorization",
        " formatting",
        " media",
        " organization",
        " plex"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "283d0c660f21bc9f0076dbaaf7ddb5179237a4eb9ccd50e772408779129722d2",
                "md5": "430efc7ecd60fdc59f8ea83750a1bd05",
                "sha256": "df11356a6685d51d58b83521bcf61a039fbeae1c910a4ae587dcc7dc2185381d"
            },
            "downloads": -1,
            "filename": "plexer_cli-0.0.1a0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "430efc7ecd60fdc59f8ea83750a1bd05",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 6460,
            "upload_time": "2024-09-29T17:04:04",
            "upload_time_iso_8601": "2024-09-29T17:04:04.594839Z",
            "url": "https://files.pythonhosted.org/packages/28/3d/0c660f21bc9f0076dbaaf7ddb5179237a4eb9ccd50e772408779129722d2/plexer_cli-0.0.1a0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "423895fe03e3961d0f9c870ceea9148bda71efee9199c4643c43e90fba97a535",
                "md5": "142df39711d343a3f1b453f0d889bd0f",
                "sha256": "90a3ef896e83f9eea103951cc7dbee6b87f51edba25cb81746168b96683080dd"
            },
            "downloads": -1,
            "filename": "plexer_cli-0.0.1a0.tar.gz",
            "has_sig": false,
            "md5_digest": "142df39711d343a3f1b453f0d889bd0f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 13996,
            "upload_time": "2024-09-29T17:04:06",
            "upload_time_iso_8601": "2024-09-29T17:04:06.279705Z",
            "url": "https://files.pythonhosted.org/packages/42/38/95fe03e3961d0f9c870ceea9148bda71efee9199c4643c43e90fba97a535/plexer_cli-0.0.1a0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-29 17:04:06",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "magneticstain",
    "github_project": "plexer#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "plexer-cli"
}
        
Elapsed time: 0.37253s