nbook: a notmuch based address book written in python

Suvayu Ali fatkasuvayu+linux at gmail.com
Mon Oct 15 04:52:40 PDT 2012


Hello Patrick,

On Sat, Oct 13, 2012 at 05:58:51PM +0100, Patrick Totzke wrote:
> Quoting Suvayu Ali (2012-10-08 10:34:29)
> > 
> > > 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.
> > 
> > Since the idea was inspired by the completion on the Gmail web
> > interface, I already do a partial search so wildcards should not be
> > necessary.
> 
> Not sure what you mean here: If I compose a mail using gmails web interface
> and type a prefix of someone's name I will get this contect as a suggestion.
> My point was that using your tool, I did not get a contact suggested
> for all prefixes.
> 

What I meant was, I search for *<query>* in the name or email address
strings.  So adding a glob character is not needed; in fact adding it
would mean my algorithm would search for a literal "*" and fail.

[...]

> 
> I think this is a conceptual problem with your algorithm:
> You look up *all* messages and add a name to your result-list
> if it matches. This means you go through some condidate
> as often as you index contains mails from/to him.
> What one really wants is to ask the database to do something like
>   "SELECT name,email from RECIPIENTS_OR_SENDER"
> where RECIPIENTS_OR_SENDER is some imaginary list that stores
> a set of contacts.
> 
> Bottom line: One would have to change the layout of the underlying
> database (not likely) or do regularly update some cache
> and only work on that. This is what some of the mentioned tools do if i'm not mistaken.
> 

Yes, you are right.  I realised this too when I tried out
nottoomuch-address a few days back.  Caching seems to be the solution
for performance issues.

[...]

> > > -------------------------------
> > > [~] 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

[...]

I see in the meantime I was writing this email, Justus gave an
explanation for the issue; I'll go through the response carefully.

> 
> https://github.com/teythoon/afew
> https://github.com/pazz/alot
> http://excess.org/urwid/
> 
> I'm sure patches will be welcome to any of the above :)

Al 3 seem very interesting, but I think I will take a closer look at
afew and urwid.

Thanks for the pointers,

:)

-- 
Suvayu

Open source is the future. It sets us free.


More information about the notmuch mailing list