Skip to main content
lolologist
==========
[![Build Status](https://travis-ci.org/arusahni/lolologist.svg?branch=dev)](https://travis-ci.org/arusahni/lolologist)

A python-based tool that automatically generates an image macro from your webcam whenever you commit to a git repository. Inspired by [lolcommits](https://github.com/mroth/lolcommits).

Installing
------------

### Linux

*BEFORE* installing lolologist, make sure that the following packages are installed locally:

* python-dev
* libfreetype6-dev
* libjpeg-dev
* mplayer
* pandoc (if doing local development)

If pillow is already installed and you do not have the packages above, you need to uninstall it and install those packages. This is because when pillow is installed, it compiles optional features based on the availability of those packages. You would do this with commands:

```console
sudo pip uninstall pillow
sudo apt-get install python-dev libfreetype6-dev libjpeg-dev

# Optional, for a better font
sudo apt-get install ttf-mscorefonts-installer
```

To install lolologist, after confirming that the above prerequisites are installed, run `sudo python setup.py install`, or install via pip.

### OS X

*BEFORE* installing lolologist, make sure that the following Homebrew packages (or their equivalents) are installed locally.

* freetype
* jpeg
* imagesnap

Also, allow the locate daemon to run. This is necessary for font detection.

```console
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
```

To install lolologist, after confirming that the above prerequisites are installed, run `sudo python setup.py install`, or install via pip.

Using
-----
1. Within the root of your git repository, type `lolologist register`. This should add a githook that will trigger the program every time you commit.
2. Commit!

The path to your photo will be printed in the commit output. The path is configurable - see the `Output*` options in the configuration section below.

Fonts
-----
Due to licensing concerns, I can't distribute lolologist with the iconic Impact TrueType font. To account for this, lolologist will use your system's Impact if it exists, or fall back to an open font.

If Impact isn't installed on your system, [download and install it](http://www.fontpalace.com/font-details/Impact), and then run either `lolologist setfont` or `lolologist setfont <path-to-font>` to load it.

Configuration
-------------
The utility can be configured through the `.lolologistrc` file, usually found in your home directory. If the file doesn't exist, feel free to create it. The following fields are accepted:

| Field | Description |
| ----------------- | -------------------------------------------------------------------------- |
| `Camera` | The video device to use. (e.g. for Linux: `/dev/video1`, for OS X: `iSight`) |
| `FontPath` | The full path to the Impact font's TTF file |
| `Lolspeak` | `on` if commit messages should be translated to lolspeak, `off` otherwise |
| `OutputDirectory` | The format string for the directory into which all images will be placed |
| `OutputFilename` | The format string for the name of the generated file |
| `OutputFormat` | The type of image to generate (e.g. `jpg`) |
| `UploadImages` | `on` if macros should be uploaded to the internet, `off` otherwise |
| `UploadUrl` | The URL to post the generated image macro to |

Pythonic format strings are accepted for the outpute file name, with the caveat that *percent signs have to be escaped with another percent sign*.

For example, if you wanted to group images by the commit year and month, you could use the following:

```ini
OutputDirectory = ~/.lolologist/{project}/{time:%%Y}/{time:%%m}
```

Possible format parameters:

| Parameter | Type | Description |
| ---------- | :--------: | ------------------------------------------ |
| `project` | *string* | The name of the git repository's directory |
| `revision` | *string* | A ten character ref sha |
| `message` | *string* | The entire commit message. |
| `time` | *datetime* | The time of the commit. |

=======

Acknowledgements
----------------
Thanks go out to Stephen Newey for his [PyLOLz module](https://code.google.com/p/pylolz/).

![Analytics](https://ga-beacon.appspot.com/UA-46766795-1/lolologist/README?pixel)

Metadata

Release files for lolologist 0.5.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lolologist 0.5.5
File Size Uploaded Provenance Actions
lolologist-0.5.5.tar.gz 46.9 kB Without provenance Details for lolologist-0.5.5.tar.gz

Release files / lolologist-0.5.5.tar.gz

Download URL lolologist-0.5.5.tar.gz
Size 46.9 kB
Tags Source
SHA-256 checksum
How to use checksums
dc8c1569e9c0120da935258f15feebdc174dd658fd2cb15795d5fa136ffe4ea2
BLAKE2b-256 checksum
How to use checksums
cb738af41766ca4459d4fdc772c6e38947838660fb3743687ce5afeae8bac6cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for lolologist 0.5.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page