Home | History | Annotate | Download | only in examples
      1 #!/bin/bash
      2 
      3 # Example evolution synchronization script by Nicolas Tetreault,
      4 # modified by Linus Walleij.
      5 
      6 # Define target files
      7 SYNC_HOME=$HOME/MTP_device_sync
      8 
      9 # Define tool locations
     10 SENDFILE=`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:
     14 EADDEXP="/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.
     22 CALENDAR_FILE="6651416.ics"
     23 CONTACTS_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
     34 EVOLUTION_CONTACTS="file:///home/linus/.evolution/addressbook/local/system"
     35 
     36 # Check for sync dir, create it if needed
     37 
     38 if test -d $SYNC_HOME ; then
     39     echo "$SYNC_HOME exists, OK."
     40 else
     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
     49 fi
     50 
     51 # Check for prerequisites
     52 
     53 if test -f $EADDEXP ; then
     54     echo "evolution-addressbook-export present in $EADDEXP, OK."
     55 else
     56     echo "Cannot locate evolution-addressbook-export!!"
     57     exit 0
     58 fi
     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 
     65 cat $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 
     80 cat $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 
     85 unix2dos $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