vxid d26164fb72 Add support for vdir synchronization
Add a script to synchronize calcurse with a VDIR collection.

Add a wrapper script around vdirsyncer to automatically synchronize
calcurse data to a vdirsyncer collection.

Add script documentation and Makefile.

Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
2019-03-14 21:21:46 +01:00

2.1 KiB

calcurse-vdir

calcurse-vdir is a Python script designed to export and import data to and from directories following the vdir storage format. This data can then be synced with various remotes using tools like vdirsyncer. Please note that the script is alpha software! This means that:

  • We are eagerly looking for testers to run the script and give feedback! If you find any bugs, please report them to the calcurse mailing lists or to the GitHub bug tracker. If the script works fine for you, please report back as well!

  • The script might still have bugs. MAKE BACKUPS, especially before running calcurse-vdir with the -f flag!

Usage

calcurse-vdir requires an up-to-date version of calcurse and python. To run calcurse-vdir, call the script using

calcurse-vdir <action> <vdir>

where action is either import or export and where vdir is the local directory to interact with.

When importing events, calcurse-vdir imports every event found in the vdir directory that is not also present in calcurse. When exporting events, calcurse-vdir does the opposite and writes any new event to the vdir directory.

These operations are non-destructive by default, meaning that no event will be deleted by the script. The -f flag can be used to make the origin mirror the destination, potentially deleting events in the destination that are no longer present in the origin.

You can optionally specify an alternative directory for local calcurse data using the -D flag if it differs from the default ~/.calcurse.

Integration with vdirsyncer

A vdirsyncer synchronisation script calcurse-vdirsyncer is can be found in the contrib directory. This script wraps event export, vdirsyncer synchronization and imports in a single call. Run calcurse-vdirsyncer -h for more information.

Planned Updates

  • Support for hook directories
  • Enable filtering of imported and exported items (events, todos)
  • Improve event parsing robustness
  • Add testing support