93 lines
3.1 KiB
Bash
Executable file
93 lines
3.1 KiB
Bash
Executable file
#!/bin/bash
|
||
|
||
# Example evolution synchronization script by Nicolas Tetreault,
|
||
# modified by Linus Walleij.
|
||
|
||
# Define target files
|
||
SYNC_HOME=$HOME/MTP_device_sync
|
||
|
||
# Define tool locations
|
||
SENDFILE=`which mtp-sendfile`
|
||
# SENDFILE="$HOME/comp-apps/bin/sendfile"
|
||
#EADDEXP=`which evolution-addressbook-export`
|
||
# This is the location in Fedora Core 5:
|
||
EADDEXP="/usr/libexec/evolution/2.6/evolution-addressbook-export"
|
||
|
||
# You need to change the name of the files
|
||
# that contains the calendar and contacts on your device.
|
||
# You can find out by starting Gnomad2, choose the data transfer
|
||
# tab, sort by size (it should be small files, extension .ics and .vcf)
|
||
# On my Zen Microphoto, the calendar and contacts files are called
|
||
# 6651416 with the ics and vcf extensions, respectively.
|
||
CALENDAR_FILE="6651416.ics"
|
||
CONTACTS_FILE="6651416.vcf"
|
||
|
||
# The evolution address book. To list your addressbooks, type:
|
||
# evolution-addressbook-export -l
|
||
# the output for me:
|
||
# "file:///home/nt271/.evolution/addressbook/local/system
|
||
# ","Personal",26
|
||
# "file:///home/nt271/.evolution/addressbook/local/1158600180.5386.0@sierra"
|
||
# ,"MicroPhoto",24
|
||
# I only want the Microphoto addressbook and the output will be
|
||
# $SYNC_HOME/contacts/Evolution_contacts.vcf
|
||
EVOLUTION_CONTACTS="file:///home/linus/.evolution/addressbook/local/system"
|
||
|
||
# Check for sync dir, create it if needed
|
||
|
||
if test -d $SYNC_HOME ; then
|
||
echo "$SYNC_HOME exists, OK."
|
||
else
|
||
echo "$SYNC_HOME must first be created..."
|
||
mkdir $SYNC_HOME
|
||
# This is a working dir for contact merging, you can put
|
||
# in some extra .vcf files here as well if you like.
|
||
mkdir $SYNC_HOME/contacts
|
||
# Here you can place some extra calendars to be sync:ed, you
|
||
# can put in some extra .ics files of any kind here.
|
||
mkdir $SYNC_HOME/calendars
|
||
fi
|
||
|
||
# Check for prerequisites
|
||
|
||
if test -f $EADDEXP ; then
|
||
echo "evolution-addressbook-export present in $EADDEXP, OK."
|
||
else
|
||
echo "Cannot locate evolution-addressbook-export!!"
|
||
exit 0
|
||
fi
|
||
|
||
|
||
# Next line merges all of your tasklist, your personal calendar,
|
||
# and then any saved to disk calendar you have placed in
|
||
# $SYNC_HOME/calendars
|
||
|
||
cat $HOME/.evolution/tasks/local/system/tasks.ics \
|
||
$HOME/.evolution/calendar/local/system/calendar.ics \
|
||
$SYNC_HOME/calendars/*.ics > $SYNC_HOME/$CALENDAR_FILE
|
||
|
||
# Use evolution-addressbook-export (installed with Evolution) to
|
||
# export your contacts to vcard.
|
||
|
||
$EADDEXP --format=vcard \
|
||
--output=$SYNC_HOME/contacts/Evolution_contacts.vcf \
|
||
$EVOLUTION_CONTACTS
|
||
|
||
# Repeat for each addressbook you want to upload.
|
||
|
||
# The next command will then merge all the contact lists
|
||
|
||
cat $SYNC_HOME/contacts/*.vcf > $SYNC_HOME/$CONTACTS_FILE
|
||
|
||
# The calendar and contacts files now need to be converted from unix
|
||
# to DOS linefeeds (CR+LF instead of just LF)
|
||
|
||
unix2dos $SYNC_HOME/$CALENDAR_FILE $SYNC_HOME/$CONTACTS_FILE
|
||
|
||
# You can now upload the ics and vcf files to you My Organizer folder
|
||
# on your device. Change the path to your sendfile command.
|
||
# Sending the vcf file is only supported in CVS version at this time
|
||
|
||
$SENDFILE -f "My Organizer" -t ics $SYNC_HOME/$CALENDAR_FILE
|
||
$SENDFILE -f "My Organizer" -t vcf $SYNC_HOME/$CONTACTS_FILE
|
||
|