Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Abook storage backend #25

Closed
untitaker opened this issue Apr 2, 2014 · 17 comments
Closed

Abook storage backend #25

untitaker opened this issue Apr 2, 2014 · 17 comments

Comments

@untitaker
Copy link
Member

Writing to the abook.db file. This basically would give us the nice CLI interface abook has and make pycarddav obsolete.

@untitaker
Copy link
Member Author

Of course a cleaner solution still would be to write a new client that uses vdir.

@zodtm
Copy link

zodtm commented Aug 22, 2014

You can check out https://github.com/hnrysmth/ppl
Its storage backend is basically a dir full of vcf files (with only UIDs missing)

@untitaker
Copy link
Member Author

It definetly has a nice interface, but it seems it is not able to deal with vcf files created by other programs.

@t-8ch
Copy link
Collaborator

t-8ch commented Aug 22, 2014

For querying with mutt I have written a small program: https://github.com/t-8ch/snippets/blob/master/contactquery.c

@zodtm
Copy link

zodtm commented Aug 22, 2014

I did a quick test, and it seems one can toss in new vcf-files, but the problem is ppl derives the nicknames from the filenames in its backend. I took the liberty of asking the author about UID filenames in the context of better vdirsyncer integration ( henrycatalinismith/ppl#47 ).

I really think vdirsyncer + ppl would be an awesome combination.

@untitaker
Copy link
Member Author

@t-8ch Oversaw your comment... interesting, last week i searched for a decent vcard parser in C (so i could use it from Rust) and couldn't find anything. I ended up porting https://github.com/untitaker/dotfiles/blob/master/home/.scripts/mates to Rust, and it was hardly better.

@t-8ch
Copy link
Collaborator

t-8ch commented Oct 1, 2014

@untitaker It should also be possible to use libical for vcards (see vobject.h). It should be packaged for all distros. Or just use my version :-)

@untitaker
Copy link
Member Author

I wanted to take this as an opportunity to learn Rust. Will take a look at vobject.h.

@geier
Copy link
Member

geier commented Oct 5, 2014

untitaker: are you starting a new addressbook project?

@untitaker
Copy link
Member Author

Not sure. I didn't get very far, there's no decent standalone vcard library for C, and none for Rust. Don't really want to depend on evolution-data-server.

@untitaker
Copy link
Member Author

I rather write this for learning Rust, not really for making something usable.

@untitaker
Copy link
Member Author

t-8ch added a commit that referenced this issue Oct 5, 2014
@t-8ch
Copy link
Collaborator

t-8ch commented Oct 5, 2014

@untitaker I added it and pushed it and a small fix to master.

@untitaker
Copy link
Member Author

Thanks!

@untitaker
Copy link
Member Author

Closing this because writing a custom addressbook client yields far better results.

@tristan-k
Copy link

tristan-k commented Jun 1, 2017

Can you please reopen the issue. I'm trying to use Trojita with Carddav. It currently lacks support for it, but does read abooks adressbook in ~/.abook. If vdirsyncer would be able to write to abooks storage backend, Trojita would be able use Carddav. Also see this issue for a workaround with another python script, which fails for some reason.

@untitaker
Copy link
Member Author

untitaker commented Jun 1, 2017 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants