- apparently this switch enables the application by default
[smartoffice] / kde-cloudstorage / kde-integration / rsync-kde
1 #!/bin/sh
2 #
3 # Displays an rsync progress bar among the KIO job notifications
4 # Syntax: rsync-kde <sourcedir> <targetdir>
5
6 source=$1
7 target=$2
8
9 if [ -z $source ] || [ -z $target ]
10 then
11         echo "Syntax error: rsync-kde <sourcedir> <targetdir>" >&2
12         exit 1
13 fi
14
15 rsp=`qdbus --literal org.kde.JobViewServer /JobViewServer requestView "Cloud Sync" "cloudfolder" 7`
16 #rsp="[ObjectPath: /JobViewServer/JobView_50]"
17 path=`echo $rsp | sed -e 's/\[ObjectPath: \(.*\)\]/\1/'`
18
19 #qdbus org.kde.JobViewServer $path setDestUrl "http://foo"
20 qdbus org.kde.JobViewServer $path setSuspended True
21 qdbus org.kde.JobViewServer $path setInfoMessage "Synchronising $source into the cloud [$target]"
22 sleep 1
23 qdbus org.kde.JobViewServer $path setSuspended False
24
25 allfiles=`find $source | wc -l`
26 logfile=~/._rsynckdelog$$
27
28 rsync -avz $source $target > $logfile &
29
30 stats=0
31 while [ $stats -lt 100 ]
32 do
33         syncedfiles=`wc -l $logfile | cut -d " " -f 1`
34         stats=$((100*$syncedfiles/$allfiles))
35         qdbus org.kde.JobViewServer $path setPercent $stats
36         sleep 1
37 done
38
39 rm -f $logfile
40 qdbus org.kde.JobViewServer $path terminate ""
41