mikeymakesit / oglaf-meta

Tag tracker for Oglaf webcomics

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Oglaf Meta

The purpose of this project is to identify past strips from the Oglaf webcomic, with the ability to build reading guides based on tags applied to strips. I've enjoyed reading Oglaf over the years, and this is my way of getting back to the threads I love.

The project comes with code and a curated assemblage of information:

  1. rguide: Generate a reading guide based on tags or a story arc
  2. ogmeta: Manage metadata - get new strip info from the website, add/delete tags and story arcs, search metadata
  3. meta.json: Local metadata about published strips
  4. characters.png: A depiction of many recurring characters, with names, based on the original work of /u/Fraxinopolis as posted in this thread

Feel free to submit pull requests if you find errors or discrepancies in this code or the tagging. Tagging is totally subjective but I've tried to be straightforward.

Setup

To set up your environment to run this project:

python3 -m venv venv
. venv/bin/activate
pip3 install --upgrade pip
pip3 install -r requirements.txt

Review the help text

See brief help text by running:

./rguide -h

or:

./ogmeta -h

The tools put in a small effort to save you from yourself but, really, the onus is on you not to shoot yourself in the foot. I recommend backing up your JSON file occasionally just in case you play around and want to revert back.

Build a reading guide

The reading guide builder generates the titles and URLs for strips that contain all the specified tags or the provided story arc. The guide is presented in publication-date order.

Imagine you want to re-read all the great strips starring Ivan:

./rguide -tag ivan

or maybe you want to read the "Fun Cult" story arc:

./rguide -arc "Fun Cult"

Now imagine you only want to re-read the strips with both Ivan and Mistress:

./rguide -tag ivan -tag mistress

Working with tags

Please note that when searching, the tags you specify are not case sensitive. However when you add tags, they're added exactly as you type them. Consider checking the tag set before you add any and try to be consistent with the capitalization style.

Also note if you're using tags with spaces or other characters your system may interpret as command-line special characters, wrap those tags in quotes!

Search for a tag:

./ogmeta -s -tag ivan

Search for a tag with spaces in its name:

./ogmeta -s -tag "the golden hind"

Add a tag to one or more strips by specifying the strip's title or one of its page URLs:

./ogmeta -a -url https://www.oglaf.com/cumsprite/ -tag Mistress -tag Ivan
./ogmeta -a -title cumsprite -tag Mistress -tag Ivan

Dump a list of all tags:

./ogmeta -l tags

Dump a list of all titles:

./ogmeta -l titles

Updating Archive Data

If you want to update your local metadata with new strip data, that's easy:

./ogmeta -fetchnew

Reference

I found the following sites helpful while working on this project:

About

Tag tracker for Oglaf webcomics

License:GNU General Public License v3.0


Languages

Language:Python 100.0%