| Name | parse-qwantz JSON |
| Version |
2024.8.3
JSON |
| download |
| home_page | None |
| Summary | Transcript generator for Dinosaur Comics |
| upload_time | 2024-08-21 21:47:26 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | >=3.10 |
| license | None |
| keywords |
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# Dinosaur Comic Parser
A transcript generator for [Ryan North](https://www.ryannorth.ca/)'s [Dinosaur Comics](https://qwantz.com)
## Installation
Install `parse-qwantz` with `pip`
```bash
pip install parse-qwantz
```
## Usage
You need to download the image file for the comic you want transcribed, for example https://qwantz.com/comics/comic2-02.png. Then run `parse-qwantz`:
```
$ parse-qwantz comic2-02.png
T-Rex: Today is a beautiful day to be stomping on things! As a dinosaur, stomping is the best part of my day indeed!
T-Rex: *gasp*
T-Rex: What's that, little house? You wish you were back in your own time? THAT IS TOO BAD FOR YOU
T-Rex: Perhaps you too will get a stomping, little girl!
Utahraptor: WAIT!
Utahraptor: Is stomping really the answer to your problem(s)?
T-Rex: Problem(s)?
T-Rex: My only problem(s) have to do with you interrupting my stomping!
T-Rex: 〚small〛 crazy utahraptor!
```
You can also call it with
```bash
python -m parse_qwantz
```
The argument can also be a directory path instead of a file path. In such case the program will run on all files in the specified directory.
## Options
### `--output-dir`
By default, the program outputs to stdout and logs to stderr. With this option, when processing file `image_name.png` it will output to `OUTPUT_DIR/image_name.png.txt` and log to `OUTPUT_DIR/image_name.log`.
### `--generate-svg`
Instead of transcribing the comic, generate a vectorized version in the SVG format and print it to the standard output.
### `--parse-footer`
Instead of transcribing the comic, transcribe just the footer.
## Conventions
Bold and italics are marked with "◖◗" and "▹◃" respectively. This is to avoid ambiguity which may result from using characters like "*" or "_".
All descriptions are in "〚〛" brackets. Each line that isn't just description starts from a "character" name followed by a colon. That "character" might be one of the actual characters, but also "Narrator", "Off panel", "Banner", "Book cover" etc.
When some text in a panel is obscured but can be reconstructed, it's in "⦃⦄" braces. So far this applies only to 2 comics: #59 and #61.
When some text in a panel is obscured and not reconstructed, it's replaced either by the special "…" character, or a description of how it's obscured in "〚〛" brackets.
## Notes
This program still does not work on all DC strips, but at this point it should work correctly on pretty much all "standard" strips and some less-standard ones (thanks to the system of overrides). Eventually all existing strips should work, including the guest comics, with updates for new comics coming out regularly.
After all comics are working, I might add some other features, like generating SVG images.
## Running Tests
To run tests, run the following command:
```bash
pytest test/
```
## Acknowledgments
This program would not be possible without the wonderful comics by Ryan North! Thanks, Ryan, and congratulations on the 20th anniversary of your comics! Btw [the anniversary comic](https://qwantz.com/?comic=4005) will totally not work with this script, haha! (at least until I add an override)
Raw data
{
"_id": null,
"home_page": null,
"name": "parse-qwantz",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": "Jan Szejko <jan.szejko@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/8a/90/ed4cecf3c7d4d64efcfb874dce7d587382888648c2e4d97ebea34ca27b26/parse_qwantz-2024.8.3.tar.gz",
"platform": null,
"description": "# Dinosaur Comic Parser\n\nA transcript generator for [Ryan North](https://www.ryannorth.ca/)'s [Dinosaur Comics](https://qwantz.com)\n\n## Installation\n\nInstall `parse-qwantz` with `pip`\n\n```bash\n pip install parse-qwantz\n```\n\n## Usage\n\nYou need to download the image file for the comic you want transcribed, for example https://qwantz.com/comics/comic2-02.png. Then run `parse-qwantz`:\n\n```\n$ parse-qwantz comic2-02.png\nT-Rex: Today is a beautiful day to be stomping on things! As a dinosaur, stomping is the best part of my day indeed!\n\nT-Rex: *gasp*\n\nT-Rex: What's that, little house? You wish you were back in your own time? THAT IS TOO BAD FOR YOU\n\nT-Rex: Perhaps you too will get a stomping, little girl!\nUtahraptor: WAIT!\n\nUtahraptor: Is stomping really the answer to your problem(s)?\nT-Rex: Problem(s)?\n\nT-Rex: My only problem(s) have to do with you interrupting my stomping!\nT-Rex: \u301asmall\u301b crazy utahraptor!\n```\n\nYou can also call it with\n```bash\npython -m parse_qwantz\n```\n\nThe argument can also be a directory path instead of a file path. In such case the program will run on all files in the specified directory.\n\n## Options\n\n### `--output-dir`\n\nBy default, the program outputs to stdout and logs to stderr. With this option, when processing file `image_name.png` it will output to `OUTPUT_DIR/image_name.png.txt` and log to `OUTPUT_DIR/image_name.log`.\n\n### `--generate-svg`\n\nInstead of transcribing the comic, generate a vectorized version in the SVG format and print it to the standard output.\n\n### `--parse-footer`\n\nInstead of transcribing the comic, transcribe just the footer.\n\n## Conventions\n\nBold and italics are marked with \"\u25d6\u25d7\" and \"\u25b9\u25c3\" respectively. This is to avoid ambiguity which may result from using characters like \"*\" or \"_\".\n\nAll descriptions are in \"\u301a\u301b\" brackets. Each line that isn't just description starts from a \"character\" name followed by a colon. That \"character\" might be one of the actual characters, but also \"Narrator\", \"Off panel\", \"Banner\", \"Book cover\" etc.\n\nWhen some text in a panel is obscured but can be reconstructed, it's in \"\u2983\u2984\" braces. So far this applies only to 2 comics: #59 and #61.\n\nWhen some text in a panel is obscured and not reconstructed, it's replaced either by the special \"\u2026\" character, or a description of how it's obscured in \"\u301a\u301b\" brackets.\n\n## Notes\n\nThis program still does not work on all DC strips, but at this point it should work correctly on pretty much all \"standard\" strips and some less-standard ones (thanks to the system of overrides). Eventually all existing strips should work, including the guest comics, with updates for new comics coming out regularly.\n\nAfter all comics are working, I might add some other features, like generating SVG images.\n\n## Running Tests\n\nTo run tests, run the following command:\n\n```bash\n pytest test/\n```\n\n## Acknowledgments\n\nThis program would not be possible without the wonderful comics by Ryan North! Thanks, Ryan, and congratulations on the 20th anniversary of your comics! Btw [the anniversary comic](https://qwantz.com/?comic=4005) will totally not work with this script, haha! (at least until I add an override)\n",
"bugtrack_url": null,
"license": null,
"summary": "Transcript generator for Dinosaur Comics",
"version": "2024.8.3",
"project_urls": {
"homepage": "https://github.com/janek37/parse_qwantz"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2ef676a50709ec49914ed299f29694742fec5753454dbc583cf88c984215f046",
"md5": "036f073d1b1b8d29e1d8fd6abef0dd16",
"sha256": "a42be12f4555c9b3b9461fa00d3e0997c25d4d1d5130a6aea6b85928985b8ab5"
},
"downloads": -1,
"filename": "parse_qwantz-2024.8.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "036f073d1b1b8d29e1d8fd6abef0dd16",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 503093,
"upload_time": "2024-08-21T21:47:23",
"upload_time_iso_8601": "2024-08-21T21:47:23.012443Z",
"url": "https://files.pythonhosted.org/packages/2e/f6/76a50709ec49914ed299f29694742fec5753454dbc583cf88c984215f046/parse_qwantz-2024.8.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8a90ed4cecf3c7d4d64efcfb874dce7d587382888648c2e4d97ebea34ca27b26",
"md5": "6285f0c59004ae1e0631436999e2795c",
"sha256": "a14302dbc5a8db26a8cde1c7d6ffa0e6655eb6ceb80a0088d4cbe5190469dcd2"
},
"downloads": -1,
"filename": "parse_qwantz-2024.8.3.tar.gz",
"has_sig": false,
"md5_digest": "6285f0c59004ae1e0631436999e2795c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 491766,
"upload_time": "2024-08-21T21:47:26",
"upload_time_iso_8601": "2024-08-21T21:47:26.712632Z",
"url": "https://files.pythonhosted.org/packages/8a/90/ed4cecf3c7d4d64efcfb874dce7d587382888648c2e4d97ebea34ca27b26/parse_qwantz-2024.8.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-21 21:47:26",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "janek37",
"github_project": "parse_qwantz",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "parse-qwantz"
}