Diffstat (limited to 'noncore/tools/opie-sh/scripts/rsyncme.sh') (more/less context) (ignore whitespace changes)
-rwxr-xr-x | noncore/tools/opie-sh/scripts/rsyncme.sh | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/noncore/tools/opie-sh/scripts/rsyncme.sh b/noncore/tools/opie-sh/scripts/rsyncme.sh new file mode 100755 index 0000000..c09aea8 --- a/dev/null +++ b/noncore/tools/opie-sh/scripts/rsyncme.sh @@ -0,0 +1,109 @@ +#!/bin/sh + +# rsyncme.sh - a demonstration of opie-sh +# +# Copyright (C) 2002 gonz@directbox.com +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# 20020517-1 - added icon, changed name in launcher +# + +CFG=/opt/QtPalmtop/share/config/rsyncme.cfg +OPIE_SH=opie-sh + +update_cfg() { + # check if dir is in CFG and if not add it + if [ "`grep -c $DIR $CFG`" = "0" ] + then echo $DIR >>$CFG + fi +} + +ask_dirs() { + # get source and destination dir + DIR=`$OPIE_SH -g -i -t "Choose Source Directory" -l -L DIR: -E -F $CFG ` + update_cfg + SRCDIR=$DIR + + DIR=`$OPIE_SH -g -i -t "Choose Destination Directory" -l -L DIR: -E -F $CFG ` + update_cfg + DESTDIR=$DIR +} + +ask_options() { + # now ask for options + OPTIONS="--archive --verbose --checksum --recursive --update --links --partial --dry-run --rsh=ssh --existing --compress --recursive" + OUTPUT=`( for OPTION in $OPTIONS + do + echo "$OPTION" + done ) | $OPIE_SH -t "Select options" -g -i -b -F ` +} + +rsync_output() { + ( echo "<h3>Output of your rsync:</h3>" + echo "command: rsync $OUTPUT $SRCDIR $DESTDIR" + echo "<pre>" + rsync $OUTPUT $SRCDIR $DESTDIR 2>&1 + echo "</pre>done." + ) | $OPIE_SH -t "Result:" -f +} + +cleanup() { + kill $SCREENCLEAN + rm -f /tmp/qcop-msg-rsyncme.sh +} + +show_dirs() { + ( echo "<h3>Directorys chosen for sync:</h3>" + echo "<ul><li>$SRCDIR<li>$DESTDIR</ul>" ) \ + | $OPIE_SH -t "Got directories" -f +} + +about() { + ( echo "<img src=/opt/QtPalmtop/pics/opie-sh-scripts/rsyncme.png>" + echo "<h3>About</h3>" + echo "This little App should make it possible for you to " + echo "easily choose the wanted options for an rsync process." + echo "<p>" + ) | $OPIE_SH -t rsync-helper -f & + SCREENCLEAN=$! + sleep 1 +} + + + + +##################################################################### +# +# main + +about + +# ask to: start rsync, edit dirlist, show about +$OPIE_SH -m -g -t RsyncMe -M "Welcome!" -0 Start -1 Dirlist +RETURNCODE=$? +case $RETURNCODE in +-1) echo died unexpectedly... | $OPIE_SH -f + cleanup + exit ;; +1) textedit $CFG + cleanup ;; +0) if [ -f $CFG ] + then ask_dirs + show_dirs + ask_options + rsync_output + else ( echo no config file seems to exist - see About... ) \ + | $OPIE_SH -t "SORRY..." -f + fi + cleanup + ;; +esac |