# comicfn2dict
An API and CLI for extracting structured comic metadata from filenames.
## Install
<!-- eslint-skip -->
```sh
pip install comicfn2dict
```
## API
<!-- eslint-skip -->
```python
from comicfn2dict import comicfn2dict, dict2comicfn
path = "Comic Series #001 Title (2024).cbz"
metadata: dict[str, str| tuple[str,...]] = comicfn2dict(path, verbose=0)
filename: str = dict2comicfn(metadata, bool=True, verbose=0)
```
## CLI
<!-- eslint-skip -->
```sh
comicfn2dict "Series Name #01 - Title (2023).cbz"
{'ext': 'cbz',
'issue': '001',
'series': 'Series Name',
'title': 'Title',
'year': '2023'}
```
Raw data
{
"_id": null,
"home_page": "https://github.com/ajslater/comicfn2dict",
"name": "comicfn2dict",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9,<4.0",
"maintainer_email": "",
"keywords": "",
"author": "AJ Slater",
"author_email": "aj@slater.net",
"download_url": "https://files.pythonhosted.org/packages/d2/7b/af971b2212061e846647700e1579b337c7189b59e5dbf634f2316541ea47/comicfn2dict-0.2.2.tar.gz",
"platform": null,
"description": "# comicfn2dict\n\nAn API and CLI for extracting structured comic metadata from filenames.\n\n## Install\n\n<!-- eslint-skip -->\n\n```sh\npip install comicfn2dict\n```\n\n## API\n\n<!-- eslint-skip -->\n\n```python\nfrom comicfn2dict import comicfn2dict, dict2comicfn\n\npath = \"Comic Series #001 Title (2024).cbz\"\n\nmetadata: dict[str, str| tuple[str,...]] = comicfn2dict(path, verbose=0)\n\nfilename: str = dict2comicfn(metadata, bool=True, verbose=0)\n```\n\n## CLI\n\n<!-- eslint-skip -->\n\n```sh\ncomicfn2dict \"Series Name #01 - Title (2023).cbz\"\n{'ext': 'cbz',\n'issue': '001',\n'series': 'Series Name',\n'title': 'Title',\n'year': '2023'}\n```\n",
"bugtrack_url": null,
"license": "GPL-3.0-only",
"summary": "Parse common comic filenames and return a dict of metadata attributes. Includes a cli.",
"version": "0.2.2",
"project_urls": {
"Documentation": "https://github.com/ajslater/comicfn2dict",
"Homepage": "https://github.com/ajslater/comicfn2dict",
"News": "https://github.com/ajslater/comicfn2dict/NEWS.md",
"Report Issues": "https://github.com/ajslater/comicfn2dict/issues",
"Repository": "https://github.com/ajslater/comicfn2dict"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4d06b2969e0d755ce60e441d4d08c307f5ae3dcc21a12e6628a936eb0087c3ac",
"md5": "087c83306bdc846a59afd390b7d1f006",
"sha256": "d75858d0a29f69fb995063a04fb4e3deb3ccafe3ffb0b444478431f4dff96ae7"
},
"downloads": -1,
"filename": "comicfn2dict-0.2.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "087c83306bdc846a59afd390b7d1f006",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9,<4.0",
"size": 23064,
"upload_time": "2024-03-17T23:26:29",
"upload_time_iso_8601": "2024-03-17T23:26:29.244692Z",
"url": "https://files.pythonhosted.org/packages/4d/06/b2969e0d755ce60e441d4d08c307f5ae3dcc21a12e6628a936eb0087c3ac/comicfn2dict-0.2.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d27baf971b2212061e846647700e1579b337c7189b59e5dbf634f2316541ea47",
"md5": "8e22bc32de7767363483ecc63e61c40c",
"sha256": "78a485d1003010eef9905715165f4ab9e76c8459981d4e4d541c3f0ee17b3b50"
},
"downloads": -1,
"filename": "comicfn2dict-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "8e22bc32de7767363483ecc63e61c40c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9,<4.0",
"size": 26519,
"upload_time": "2024-03-17T23:26:30",
"upload_time_iso_8601": "2024-03-17T23:26:30.993926Z",
"url": "https://files.pythonhosted.org/packages/d2/7b/af971b2212061e846647700e1579b337c7189b59e5dbf634f2316541ea47/comicfn2dict-0.2.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-17 23:26:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ajslater",
"github_project": "comicfn2dict",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"circle": true,
"lcname": "comicfn2dict"
}