Profilarr configurations based on TRaSH Guides
Find a file
2026-01-10 22:22:52 +02:00
.github Prevent missing regex_patterns (#15) 2026-01-10 17:51:12 +02:00
custom_formats Prevent missing regex_patterns (#15) 2026-01-10 17:51:12 +02:00
media_management Fix quality definitions 2025-08-19 21:47:04 +03:00
profiles Automated update from GitHub Actions 2026-01-04 07:37:38 +00:00
regex_patterns Prevent missing regex_patterns (#15) 2026-01-10 17:51:12 +02:00
scripts Prevent missing regex_patterns (#15) 2026-01-10 17:51:12 +02:00
tests Prevent missing regex_patterns (#15) 2026-01-10 17:51:12 +02:00
.gitignore Prevent missing regex_patterns (#15) 2026-01-10 17:51:12 +02:00
CONTRIBUTING.md docs: Add CONTRIBUTING.md with commit message guidelines and structure 2025-01-11 04:52:49 +10:30
pyproject.toml Prevent missing regex_patterns (#15) 2026-01-10 17:51:12 +02:00
README.md Prevent missing regex_patterns (#15) 2026-01-10 17:51:12 +02:00
renovate.json Fix renovate config (#17) 2026-01-10 22:22:52 +02:00
uv.lock Prevent missing regex_patterns (#15) 2026-01-10 17:51:12 +02:00

Unofficial TRaSH-Guides Database for Profilarr

This repository hosts TRaSH-Guides's unofficial database for Profilarr containing:

  • Regex Patterns
  • Custom Formats
  • Quality Profiles
  • Media Management

The goal of this repository is to generate a Profilarr database based on TRaSH-Guides configuration without any changes. If you want anything custom you can commit it yourself within the Profilarr UI.

The repo will be automatically kept in sync with the TRaSH-Guides repository. A Github Action will run every day pulling the latest version of TRaSH-Guides and running the scripts committing and pushing any changes.

Scripts

The repository a script to generate the specification based on the TRaSH-Guide data.

Requirements

  • Python 3.13+
  • UV for package management - install via official instructions
  • TRaSH-Guides data - a local clone with JSON data in docs/json/ (not automatically cloned)

Dependencies are defined in pyproject.toml and managed by UV.

Running the script

Assuming you're in the root directory of the repository you can now run:

uv run scripts/generate.py /path/to/trash-guides/docs/json .

It will clear any potentially pre-existing output and generate new output based on the provided TRaSH-Guides folder.

Testing

This project includes automated tests to validate the integrity of generated output files.

Running Tests

The test suite validates that:

  • Every pattern referenced in custom formats exists as a regex pattern file
  • Every custom format referenced in profiles exists as a custom format file
# Install dev dependencies
uv sync --extra dev

# Run all tests
uv run pytest tests/ -v

# Run specific test files
uv run pytest tests/test_custom_formats.py -v
uv run pytest tests/test_profiles.py -v

# Run with coverage report
uv run pytest tests/ --cov=scripts --cov-report=term

Test Validation

The tests ensure data integrity across the generated output:

  • Custom Format Tests - Validates all pattern references in custom_formats/ exist in regex_patterns/
  • Profile Tests - Validates all custom format references in profiles/ exist in custom_formats/

If a test fails, it will clearly indicate which files contain broken references, making it easy to identify and fix issues.

Code Quality

This project uses pylint for static code analysis and quality checks.

# Install dev tools
uv sync --extra dev

# Run linting
uv run pylint scripts tests