evolution-sync.sh revision 3aa430dc5437a98734b36f996f9b17081a589143
1#!/bin/bash
2
3# Example evolution synchronization script by Nicolas Tetreault,
4# modified by Linus Walleij.
5
6# Define target files
7SYNC_HOME=$HOME/MTP_device_sync
8
9# Define tool locations
10SENDFILE=`which mtp-sendfile`
11# SENDFILE="$HOME/comp-apps/bin/sendfile"
12#EADDEXP=`which evolution-addressbook-export`
13# This is the location in Fedora Core 5:
14EADDEXP="/usr/libexec/evolution/2.6/evolution-addressbook-export"
15
16# You need to change the name of the files
17# that contains the calendar and contacts on your device. 
18# You can find out by  starting Gnomad2, choose the data transfer 
19# tab, sort by size (it should be small files, extension .ics and .vcf)
20# On my Zen Microphoto, the calendar and contacts files are called
21# 6651416 with the ics and vcf extensions, respectively.
22CALENDAR_FILE="6651416.ics"
23CONTACTS_FILE="6651416.vcf"
24
25# The evolution address book. To list your addressbooks, type:
26# evolution-addressbook-export -l
27# the output for me:
28# "file:///home/nt271/.evolution/addressbook/local/system
29# ","Personal",26
30# "file:///home/nt271/.evolution/addressbook/local/1158600180.5386.0@sierra"
31# ,"MicroPhoto",24
32# I only want the Microphoto addressbook and the output will be
33# $SYNC_HOME/contacts/Evolution_contacts.vcf
34EVOLUTION_CONTACTS="file:///home/linus/.evolution/addressbook/local/system"
35
36# Check for sync dir, create it if needed
37
38if test -d $SYNC_HOME ; then
39    echo "$SYNC_HOME exists, OK."
40else
41    echo "$SYNC_HOME must first be created..."
42    mkdir $SYNC_HOME
43    # This is a working dir for contact merging, you can put
44    # in some extra .vcf files here as well if you like.
45    mkdir $SYNC_HOME/contacts
46    # Here you can place some extra calendars to be sync:ed, you
47    # can put in some extra .ics files of any kind here.
48    mkdir $SYNC_HOME/calendars
49fi
50
51# Check for prerequisites
52
53if test -f $EADDEXP ; then
54    echo "evolution-addressbook-export present in $EADDEXP, OK."
55else
56    echo "Cannot locate evolution-addressbook-export!!"
57    exit 0
58fi
59
60
61# Next line merges all of your tasklist, your personal calendar, 
62# and then any saved to disk calendar you have placed in
63# $SYNC_HOME/calendars
64
65cat $HOME/.evolution/tasks/local/system/tasks.ics \
66    $HOME/.evolution/calendar/local/system/calendar.ics \
67    $SYNC_HOME/calendars/*.ics > $SYNC_HOME/$CALENDAR_FILE
68
69# Use evolution-addressbook-export (installed with Evolution) to
70# export your contacts to vcard.
71
72$EADDEXP --format=vcard \
73    --output=$SYNC_HOME/contacts/Evolution_contacts.vcf \
74    $EVOLUTION_CONTACTS
75
76# Repeat for each addressbook you want to upload.
77
78# The next command will then merge all the contact lists
79
80cat $SYNC_HOME/contacts/*.vcf > $SYNC_HOME/$CONTACTS_FILE
81
82# The calendar and contacts files now need to be converted from unix
83# to DOS linefeeds (CR+LF instead of just LF)
84
85unix2dos $SYNC_HOME/$CALENDAR_FILE $SYNC_HOME/$CONTACTS_FILE
86
87# You can now upload the ics and vcf files to you My Organizer folder
88# on your device. Change the path to your sendfile command.
89# Sending the vcf file is only supported in CVS version at this time
90
91$SENDFILE -f "My Organizer" -t ics $SYNC_HOME/$CALENDAR_FILE
92$SENDFILE -f "My Organizer" -t vcf $SYNC_HOME/$CONTACTS_FILE
93
94