Skip to content

Latest commit

 

History

History
150 lines (107 loc) · 7.99 KB

README.md

File metadata and controls

150 lines (107 loc) · 7.99 KB

Perdoo

PyPI - Python PyPI - Status PyPI - Version PyPI - License

Pre-Commit Ruff

Github - Contributors Github Action - Testing Github Action - Publishing

Perdoo is designed to assist in sorting and organizing your comic collection by utilizing metadata files stored within comic archives.
Perdoo standardizes all your digital comics into a unified format (cb7, cbt, or cbz).
It adds and/or updates metadata files using supported services.
Unlike other tagging tools, Perdoo employs a manual approach when metadata files are absent, prompting users to enter the necessary Publisher/Series/Issue details for search purposes.

Installation

Pipx

  1. Ensure you have Pipx installed: pipx --version
  2. Install the project: pipx install perdoo

Usage

Perdoo Commands

uv run Perdoo --help

Perdoo import

uv run Perdoo import --help

Perdoo archive Commands

Perdoo archive view

uv run Perdoo archive view --help

Perdoo settings Commands

Perdoo settings view

uv run Perdoo settings view --help

Perdoo settings locate

uv run Perdoo settings locate --help

Perdoo settings update

uv run Perdoo settings update --help

Supported Formats

Input Extensions

  • .cbr
  • .cbt
  • .cbz
  • .cb7 (Requires installing cb7 dependencies: pipx install perdoo[cb7])

Output Extensions

  • .cbt
  • .cbz (Default)
  • .cb7 (Requires installing cb7 dependencies: pipx install perdoo[cb7])

Metadata Files

Services

File Renaming and Organization

File naming and organization uses a pattern-based approach, it tries to name based on the MetronInfo data with a fallback to ComicInfo. Naming is done based on the Comic Format, set the value to "" and it will fallback to the default setting.

  • Default: {publisher-name}/{series-name}-v{volume}/{series-name}-v{volume}_#{number:3}
  • Annual: {publisher-name}/{series-name}-v{volume}/{series-name}-v{volume}_Annual_#{number:2}
  • Digital Chapter: {publisher-name}/{series-name}-v{volume}/{series-name}-v{volume}_Chapter_#{number:3}
  • Graphic Novel: {publisher-name}/{series-name}-v{volume}/{series-name}-v{volume}_GN_#{number:2}
  • Hardcover: {publisher-name}/{series-name}-v{volume}/{series-name}-v{volume}_HC_#{number:2}
  • Limited Series: "" Falls back to Default
  • Omnibus: {publisher-name}/{series-name}-v{volume}/{series-name}-v{volume}_OB_#{number:2}
  • One-Shot: "" Falls back to Default
  • Single Issue: "" Falls back to Default
  • Trade Paperback: {publisher-name}/{series-name}-v{volume}/{series-name}-v{volume}_TPB_#{number:2}

Options

  • Padding: Int and Int-like fields, such as {number}, can include optional zero-padding by specifying the length (e.g. {number:3} will pad 0's to be atleast 3 digits long, 12 => 012).
  • Sanitization: All metadata values are sanitized to remove characters outside the set 0-9a-zA-Z&!-. Custom characters can still be added directly to patterns.
Pattern Key Description
{cover-date} The issue cover date in yyyy-mm-dd format.
{cover-day} The day from the issue cover date.
{cover-month} The month from the issue cover date.
{cover-year} The year from the issue cover date.
{format} The full format name of the series.
{id} The primary id of the issue.
{imprint} The publisher's imprint.
{isbn} The issue's ISBN.
{issue-count} The total number of issues in the series.
{lang} The issue's language.
{number} The issue number.
{publisher-id} The publisher's unique id.
{publisher-name} The full name of the publisher.
{series-id} The series' unique id.
{series-name} The full name of the series.
{series-sort-name} Sort-friendly name (omits leading "The", "A", etc...).
{series-year} The year the series started.
{store-date} The store date of the issue in yyyy-mm-dd format.
{store-day} The day from the issue store date.
{store-month} The month from the issue store date.
{store-year} The year from the issue store date.
{title} The issue title.
{upc} The issue's UPC.
{volume} The volume of the series.

Socials

Social - Fosstodon
Social - Matrix