nbook: a notmuch based address book written in python

Patrick Totzke patricktotzke at gmail.com
Tue Sep 25 03:44:57 PDT 2012


Hey Suvayu, welcome to notmuch!

I hope you are aware that there are already a few search based abook tools
around for notmuch (listed in the wiki, albeit hidden in the emacs docs):
http://notmuchmail.org/emacstips/#index14h2
I personally use nottoomuch-addresses.sh, which apparently does some advanced
caching voodoo for speed.

But to your tool; practice test:
I wasn't able to use wildcards or simply prefixes of names. This is essential
if you want to use it for tabcompleting contacts in a MUA.
The time lookups take seems to depend on how many matches there are:

-------------------------------
time nbook Suvayu
1 unique email addresses found for `Suvayu'
fatkasuvayu+linux at gmail.com     Suvayu Ali

nbook Suvayu  0.04s user 0.01s system 95% cpu 0.050 total
-------------------------------
time nbook Justus
...

nbook Justus  0.21s user 0.07s system 11% cpu 2.484 total
-------------------------------
And If I look for my own name, this takes over a minute,
eventually dying. This could be an issue with libnotmuch though.
Possibly, your algorithm takes very long and then reads from an initially
opened Database object again, which was invalidated by concurrent writes of other processes..

-------------------------------
[~] time nbook Patrick                     

Error opening /home/pazz/mail/gmail/[Google Mail].All Mail/cur/1330682270_0.12958.megatron,U=8766,FMD5=66ff6a8bc18a8a3ac4b311daa93d358a:2,S: Too many open files
Traceback (most recent call last):
  File "/home/pazz/bin/nbook", line 167, in <module>
  File "/home/pazz/bin/nbook", line 71, in __init__
  File "/home/pazz/.local/lib/python2.7/site-packages/notmuch/message.py", line 233, in get_header
notmuch.errors.NullPointerError
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/apport_python_hook.py", line 66, in apport_excepthook
ImportError: No module named fileutils

Original exception was:
Traceback (most recent call last):
  File "/home/pazz/bin/nbook", line 167, in <module>
  File "/home/pazz/bin/nbook", line 71, in __init__
  File "/home/pazz/.local/lib/python2.7/site-packages/notmuch/message.py", line 233, in get_header
notmuch.errors.NullPointerError
nbook Patrick  3.20s user 5.47s system 12% cpu 1:11.65 total
------------------------------------

Anyway, have fun hacking notmuch! If you are looking for a related project to bring in your python skills
I could think of one or two :D
Best,
/p


More information about the notmuch mailing list