From d26164fb725e22f8eebd8d94ad59cab3921b8a6f Mon Sep 17 00:00:00 2001 From: vxid Date: Sat, 2 Mar 2019 16:12:15 +0100 Subject: 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 --- contrib/vdir/calcurse-vdirsyncer | 71 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100755 contrib/vdir/calcurse-vdirsyncer (limited to 'contrib/vdir/calcurse-vdirsyncer') diff --git a/contrib/vdir/calcurse-vdirsyncer b/contrib/vdir/calcurse-vdirsyncer new file mode 100755 index 0000000..c5371b5 --- /dev/null +++ b/contrib/vdir/calcurse-vdirsyncer @@ -0,0 +1,71 @@ +#!/bin/sh + +set -e + +usage() { + echo "usage: calcurse-vdirsyncer vdir [-h] [-f] [-v] [-D] datadir" + exit +} + +set_vdir() { + if [ ! -d "$1" ]; then + echo "error: $1 is not a valid vdir directory." + exit 1 + else + VDIR="$1" + fi +} + +set_datadir() { + if [ -z "$1" ]; then + echo "error: no datadir specified." + usage + fi + if [ ! -d "$1" ]; then + echo "error: $1 is not a valid data directory." + exit 1 + else + DATADIR="$1" + shift + fi +} + +if [ "$#" -lt 1 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then + usage +fi + +DATADIR="$HOME/.calcurse" +VERBOSE="" +FORCE="" + +set_vdir "$1" +shift + +while [ $# -gt 0 ]; do + case "$1" in + -D|--datadir) + shift + set_datadir "$1" + shift + ;; + -h|--help) + usage + ;; + -f|--force) + FORCE="-f" + shift + ;; + -v|--verbose) + VERBOSE="-v" + shift + ;; + *) + echo "error: invalid argument $1" + usage + ;; + esac +done + +calcurse-vdir export "$VDIR" -D "$DATADIR" "$FORCE" "$VERBOSE" && \ + vdirsyncer sync && \ + calcurse-vdir import "$VDIR" -D "$DATADIR" "$FORCE" "$VERBOSE" -- cgit v1.2.3-70-g09d2