Comments (17)
Of course a cleaner solution still would be to write a new client that uses vdir.
from vdirsyncer.
You can check out https://github.com/hnrysmth/ppl
Its storage backend is basically a dir full of vcf files (with only UIDs missing)
from vdirsyncer.
It definetly has a nice interface, but it seems it is not able to deal with vcf files created by other programs.
from vdirsyncer.
For querying with mutt I have written a small program: https://github.com/t-8ch/snippets/blob/master/contactquery.c
from vdirsyncer.
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.
from vdirsyncer.
@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.
from vdirsyncer.
@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 :-)
from vdirsyncer.
I wanted to take this as an opportunity to learn Rust. Will take a look at vobject.h
.
from vdirsyncer.
untitaker: are you starting a new addressbook project?
from vdirsyncer.
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.
from vdirsyncer.
I rather write this for learning Rust, not really for making something usable.
from vdirsyncer.
FWIW, here it is: https://github.com/untitaker/mates
@t-8ch if you want we could add your script to https://vdirsyncer.readthedocs.org/en/latest/supported.html#client-applications
from vdirsyncer.
@untitaker I added it and pushed it and a small fix to master.
from vdirsyncer.
Thanks!
from vdirsyncer.
Closing this because writing a custom addressbook client yields far better results.
from vdirsyncer.
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.
from vdirsyncer.
from vdirsyncer.
Related Issues (20)
- Nextcloud imported calendar not found HOT 1
- Feature request: add a no_delete option to the storage configuration HOT 4
- Issue aggregating multiple iCalendars feeds into a single CalDAV calendar HOT 2
- Changes to the order of VTIMEZONE components in an .ics file cause sync conflicts against calDAV HOT 2
- Request mechanism to debug "multiple items with the same UID" HOT 3
- Cannot update to latest version (ubuntu/jammy) HOT 3
- unknown error occurred in prepare_new_status HOT 3
- warning: Skipping identical href : Possible to synchronize anyway?
- Make verify_fingerprint work with auth_cert
- When syncing with Google Calendar, if the GCal side is empty, vdirsyncer errors with "Storage was completely emptied" (on local side)
- Sync aborted after a single error HOT 2
- Invalid ICS files (missing `END:VEVENT`s and `END:VCALENDAR`) are silently ignored HOT 1
- contacts.html: Link "contact the author directly" broken
- Add a `pre_deletion_hook`
- Sync fails randomly with Nextcloud's "Contact birthdays" calendar.
- Failed to discover collections for google_contacts HOT 1
- Support higher version of aiostream HOT 3
- Unknown error unable to open database file HOT 1
- better default vdir storage path using $XDG_DATA_HOME HOT 2
- Finding no collections when trying to sync shared icloud calendar
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vdirsyncer.