allwinner_a64/android/external/libmtp/examples/evolution-sync.sh
2018-08-08 16:14:42 +08:00

93 lines
3.1 KiB
Bash
Executable file
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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