summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastien Estienne <sebastien.estienne@gmail.com>2005-09-06 17:41:26 +0000
committerSebastien Estienne <sebastien.estienne@gmail.com>2005-09-06 17:41:26 +0000
commitafda8873baf0ae1f7c90f8e8fea0c4dcaa836aeb (patch)
tree81d09ae6a048da3fbee1f8d417b8e3eba14781cb
parent619297646188564dbf2cf7925bd5cee4e946773d (diff)
* fix scripts
* don't prepend / if path already contains one * fix a bug that prevents executing scripts git-svn-id: file:///home/lennart/svn/public/service-discovery-applet/trunk@10 3be567f1-68ff-0310-b24a-ad7cc433fd2f
-rw-r--r--scripts/Makefile.am2
-rwxr-xr-xscripts/_http._tcp.sh7
-rwxr-xr-xscripts/_https._tcp.sh21
-rwxr-xr-xscripts/_sftp-ssh._tcp.sh30
-rwxr-xr-xsrc/service-discovery-applet.in3
5 files changed, 61 insertions, 2 deletions
diff --git a/scripts/Makefile.am b/scripts/Makefile.am
index abf39ed..9bcd0ed 100644
--- a/scripts/Makefile.am
+++ b/scripts/Makefile.am
@@ -1,7 +1,9 @@
scriptsdir = $(SCRIPTSDIR)
scripts_SCRIPTS = \
_http._tcp.sh \
+ _https._tcp.sh \
_ftp._tcp.sh \
+ _sftp-ssh._tcp.sh \
_ssh._tcp.sh
EXTRA_DIST = $(scripts_SCRIPTS)
diff --git a/scripts/_http._tcp.sh b/scripts/_http._tcp.sh
index 4ff8006..d196ea6 100755
--- a/scripts/_http._tcp.sh
+++ b/scripts/_http._tcp.sh
@@ -13,4 +13,9 @@ done
HANDLER=`echo $TYPE | cut -f 1 -d "." | cut -f 2 -d "_"`
-gnome-open "$HANDLER://$ADDRESS:$PORT/$TXT_path"
+if [ ! -z "$TXT_path" ]
+then
+ path=`echo $TXT_path | sed -e 's/^\///g'`
+fi
+
+gnome-open "$HANDLER://$ADDRESS:$PORT/$path"
diff --git a/scripts/_https._tcp.sh b/scripts/_https._tcp.sh
new file mode 100755
index 0000000..d196ea6
--- /dev/null
+++ b/scripts/_https._tcp.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+TYPE=`basename $0`
+NAME=$1
+HOSTNAME=$2
+ADDRESS=$3
+PORT=$4
+TXTS=$5
+
+for TXT in $TXTS
+do
+ eval TXT_$TXT
+done
+
+HANDLER=`echo $TYPE | cut -f 1 -d "." | cut -f 2 -d "_"`
+
+if [ ! -z "$TXT_path" ]
+then
+ path=`echo $TXT_path | sed -e 's/^\///g'`
+fi
+
+gnome-open "$HANDLER://$ADDRESS:$PORT/$path"
diff --git a/scripts/_sftp-ssh._tcp.sh b/scripts/_sftp-ssh._tcp.sh
new file mode 100755
index 0000000..0b6a62f
--- /dev/null
+++ b/scripts/_sftp-ssh._tcp.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+TYPE=`basename $0`
+NAME=$1
+HOSTNAME=$2
+ADDRESS=$3
+PORT=$4
+TXTS=$5
+
+for TXT in $TXTS
+do
+ eval TXT_$TXT
+done
+
+if [ ! -z "$TXT_u" ]
+then
+ USER_NAME="-l $TXT_u"
+else
+ USER_NAME=`zenity --entry --text "Login :"`
+ if [ ! -z "$USER_NAME" ]
+ then
+ USER_NAME="$USER_NAME@"
+ fi
+fi
+
+if [ ! -z "$TXT_path" ]
+then
+ path=`echo $TXT_path | sed -e 's/^\///g'`
+fi
+
+sftp "$USERNAME$ADDRESS:$PORT/$path"
diff --git a/src/service-discovery-applet.in b/src/service-discovery-applet.in
index 5e076fc..7d56e35 100755
--- a/src/service-discovery-applet.in
+++ b/src/service-discovery-applet.in
@@ -80,8 +80,9 @@ def siocgifname(interface):
def service_resolved(interface, protocol, name, type, domain, host, aprotocol, address, port, txt):
print "Service data for service '%s' of type '%s' in domain '%s' on %s.%i:" % (name, type, domain, siocgifname(interface), protocol)
print "\tHost %s (%s), port %i, TXT data: %s" % (host, address, port, avahi.txt_array_to_string_array(txt))
- if os.path.exists("@scriptsdir@/%s.sh"):
+ if os.path.exists("@scriptsdir@/%s.sh" % type):
cmd = '@scriptsdir@/%s.sh "%s" %s %s %i "%s"' % (type, name, host, address, port," ".join(avahi.txt_array_to_string_array(txt)))
+ print cmd
os.system(cmd)
# if type == "_http._tcp":
#