Skip to content

Perdoo is designed to assist in sorting and organizing your comic collection by utilizing metadata files stored within comic archives.

License

Notifications You must be signed in to change notification settings

Buried-In-Code/Perdoo

Repository files navigation

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

About

Perdoo is designed to assist in sorting and organizing your comic collection by utilizing metadata files stored within comic archives.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages