[prev in list] [next in list] [prev in thread] [next in thread]
List: quanta
Subject: Re: [Quanta] Quanta Digest, Vol 58, Issue 2
From: "Schimara Marek" <marecek () listonos ! cz>
Date: 2008-01-06 17:28:03
Message-ID: 20080106172803.55365.qmail () kajka ! plovarna ! cz
[Download RAW message or body]
This is a MIME encoded message.
[Attachment #2 (text/plain)]
Dne: 6.1.2008 12:00,
quanta-request@mail.kde.org napsal:
> Am Sonntag, 6. Januar 2008 10:30:00 schrieb Schimara Marek:
> > I suppose I need to use a "Script Action" but I need to know how to define
> > an action of my own (I can write a script which would do what I want but I
> > need to know where to add my custom action, how to call it, the argument
> > which stores the current file name reference etc.). Also, if there is a
> > simpler way to sync, I would certainly appreciate it ;-)
>
> you may want to have a look at
> http://www.hoernerfranzracing.de/kde/script-actions.html - I think sitecopy
> will just do what you want :)
>
> werner
Thanks Werner,
I found some useful info in the quanta help after all, and I was able to write a \
script of my own, which is executed after each Save operation automatically. I did:
1. created a new script action called Sync (in settings > configure actions), with \
parameters sh <full path to the script> %f
Input: None
Output: Message window
Error: Message window
2. added Sync as an action associated with "After Document Save" (in project options \
> event configuration)
3. created a config file (it goes into $HOME/.kde/share/apps/quanta/) in which I \
stored the local directory to sync into, and the ftp password - the inconvenience is \
that the password is stored in plain text but we're talking plain old FTP here...
And it works fine ;-) I'm attaching the script and an example config file in case \
somebody finds it useful (it works only with FTP though).
thanks :-)
Marek
["quanta-syncFTP.sh" (application/x-sh)]
#/usr/bin/env bash
# Author: Marek Schimara
# Date : 06/01/2008
#
# Version 0.1
echo "Starting \"`basename $0`\" with arguments: \"$@\"
"
# Format of the config file is:
#
# [ftp.server.full.name]
# <full path to the local dir>
# <password>
#
#
# Lines beginning with '#' and empty lines are ignored. The order of parameters is \
important; there mustn't be anything else except comments and empty lines between \
them, and nothing else on the same line neither.
CONFIG="$HOME/.kde/share/apps/quanta/quanta-syncFTP.conf"
if [[ ! -f $CONFIG ]]
then
echo "Config file \"$CONFIG\" not found."
exit
fi
# parse the argument for all the necessary parameters
FTP=`echo "$1" | sed 's|\(.*\)://.*|\1|'`
if [[ "$FTP" != "ftp" && "$FTP" != "FTP" ]]
then
echo "This script only works with FTP based projects."
exit
fi
USER=`echo "$1" | sed 's|.*://\(.*\)@.*|\1|;s|%40|@|'`
if [[ "$USER" == "" ]]
then
echo "FTP user not found."
exit
fi
SERVER=`echo "$1" | sed 's|.*@\(.*\):[0-9]*.*|\1|'`
if [[ "$SERVER" == "" ]]
then
echo "FTP server not found."
exit
fi
PORT=`echo "$1" | sed 's|.*:\([0-9]*\)/.*|\1|'`
if [[ "$SERVER" == "" ]]
then
echo "FTP server port not found."
exit
fi
FPATH=`echo "$1" | sed 's|.*:[0-9]*/|/|'`
if [[ "$FPATH" == "" ]]
then
echo "The full path not found."
exit
fi
FILE=`basename $FPATH`
DIR=`dirname $FPATH`
# get the config for this server from the config file
LOCAL_BASE=`egrep -v '^#|^ *$' $CONFIG | grep -A 1 "$SERVER" | tail -1 | sed 's| \
*||;s|\(.*\) *$|\1|'` PASSWORD=`egrep -v '^#|^ *$' $CONFIG | grep -A 2 "$SERVER" | \
tail -1 | sed 's| *||;s|\(.*\) *$|\1|'`
echo "user: $USER
server: $SERVER
port: $PORT
password: OK, found.
full path: $FPATH
directory: $DIR
local basedir: $LOCAL_BASE
file: $FILE
"
# prepare the unattended FTP command file
FTP_COMMANDS="/tmp/quanta-syncFTP.cmd"
echo "open $SERVER $PORT
$USER
$PASSWORD
mkdir $DIR
cd $DIR
pwd
get $FILE
bye" > $FTP_COMMANDS
# prepare the local directory
if [[ ! -d $LOCAL_BASE/$DIR ]]
then
echo "Local directory doesn't exist, creating."
mkdir -p $LOCAL_BASE/$DIR
fi
cd $LOCAL_BASE/$DIR
# download the file
echo "FTP transfer:
"
ftp -v < $FTP_COMMANDS
rm -f $FTP_COMMANDS
echo "
\"`basename $0`\" finished. The downloaded file:
`ls -l $LOCAL_BASE/$DIR/$FILE`
"
#END
["quanta-syncFTP.conf" (application/octet-stream)]
_______________________________________________
Quanta mailing list
Quanta@mail.kde.org
https://mail.kde.org/mailman/listinfo/quanta
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic