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.
- Ensure you have Pipx installed:
pipx --version
- Install the project:
pipx install perdoo
- .cbr
- .cbt
- .cbz
- .cb7 (Requires installing
cb7
dependencies:pipx install perdoo[cb7]
)
- .cbt
- .cbz (Default)
- .cb7 (Requires installing
cb7
dependencies:pipx install perdoo[cb7]
)
- MetronInfo.xml
- Perdoo supports a slightly modified ComicInfo.xml to ignore field ordering.
- Comicvine using the Simyan library.
- Marvel using the Esak library.
- Metron using the Mokkari library.
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}
- 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. |