blanco - "Hey, remember me?"
blanco is a simple tool to help you, or more specifically me, keep in
touch with people. All it does is notify you if you're failing to keep in
contact. It is just a quick solution to a simple problem, as long as you use
abook and your sent mail is locally accessible.
blanco expects your abook entries to have a frequency value in the
frequency field . The format is "<n> <units>", where
n is a number
units is a character from the set
[dwmy]. For example, an entry
with a frequency of
3 m will be triggered if there hasn't been a mail sent
to that address in three months.
If you add the following snippet to your
~/.abook/abookrc the abook
interface will display "Frequency" in the interface when editing the
tab for a contact.
field frequency = Frequency view OTHER = frequency
|||You can select a different field using the |
blanco expects you to give it the location of an abook addressbook file and
the location of your sent mail in mbox format, and informs you if you're
forgetting to contact somebody.
$ ./blanco.py --no-notify -a tests/data/blanco.conf -m tests/data/sent.mbox Mail due for Bill Mail due for Joe No mail record for Steven $ ./blanco.py --no-notify -a tests/data/blanco.conf -m tests/data/sent.mbox --all Mail due for Bill Mail due for Joe Mail due for Steven
blanco can be used without abook, as it only requires a ini formatted
contacts file and access to a mailbox containing sent mail. To create your own
contacts file without abook follow the format below:
 name=Bill firstname.lastname@example.org frequency=30d  name=Joe email@example.com frequency=30d
If you use the layout above you should specify
Another alternative would be to use abook just to convert your current address
book in to a suitable format. Check the output of
abook --formats for the
file formats supported by your version of abook.
I'd like to thank the following people who have contributed to this repository.
- Morgan Lane
If I've forgotten to include your name I wholeheartedly apologise. Just drop me an mail and I'll update the list!
If you've found a bug please attempt to include a minimal testcase so I can reproduce the problem, or even better a patch!