summaryrefslogtreecommitdiffstats
path: root/actions/services/__init__.py.in
diff options
context:
space:
mode:
Diffstat (limited to 'actions/services/__init__.py.in')
-rwxr-xr-xactions/services/__init__.py.in232
1 files changed, 0 insertions, 232 deletions
diff --git a/actions/services/__init__.py.in b/actions/services/__init__.py.in
deleted file mode 100755
index fb6d824..0000000
--- a/actions/services/__init__.py.in
+++ /dev/null
@@ -1,232 +0,0 @@
-#!@PYTHON@
-# -*- coding: UTF-8 -*-
-# -*- python -*-
-# Copyright (C) 2005 by Sebastien Estienne
-#
-# This file may be distributed and/or modified under the terms of
-# the GNU General Public License version 2 as published by
-# the Free Software Foundation.
-# This file is distributed without any warranty; without even the implied
-# warranty of merchantability or fitness for a particular purpose.
-# See "COPYING" in the source distribution for more information.
-#
-# $id$
-#
-
-# BIG WARNING:
-# this file is for the moment a big ugly quick hack
-# I'm working on a clean plugin system to handle actions for service types
-# it will hopefully appear in 0.3
-# this file is just an interim solution to give the same functionnaly as 0.1
-
-try:
- import gettext
- gettext.bindtextdomain("@GETTEXT_PACKAGE@", "@LOCALEDIR@")
- gettext.textdomain("@GETTEXT_PACKAGE@")
- _ = gettext.gettext
- import pygtk
- pygtk.require('2.0')
- import gtk
- import os
- import pwd
- import subprocess
- import gnome
-except ImportError, e:
- error_msg(_("A required python module is missing!\n%s") % (e))
- sys.exit()
-
-def pair_to_dict(l):
- res = dict()
- for el in l:
- if "=" not in el:
- res[el]=''
- else:
- tmp = el.split('=',1)
- if len(tmp[0]) > 0:
- res[tmp[0]] = tmp[1]
- return res
-
-
-def build_url(uri = "http", hostname="127.0.0.1", port = None, path = None, username = None, password = None):
- if path and path != None:
- if path[0] == "/":
- path = path[1:]
- else:
- path = ""
-
- if username:
- if password:
- username="%s:%s@" % (username,password)
- else:
- username="%s@" % (username)
- else:
- username=""
- if port and port != None:
- hostname="%s:%i" % (hostname,port)
- return "%s://%s%s/%s" % (uri,username,hostname,path)
-
-def get_txt_value(txts, txt):
- if txts.has_key(txt):
- return txts[txt]
- else:
- return None
-
-
-def _http_tcp(name, hostname, address, port, txts):
- path = get_txt_value(txts,"path")
- username = get_txt_value(txts,"u")
- password = get_txt_value(txts,"p")
- url = build_url("http",address,port, path, username,password)
- gnome.url_show(url)
-
-def _https_tcp(name, hostname, address, port, txts):
- path = get_txt_value(txts,"path")
- username = get_txt_value(txts,"u")
- password = get_txt_value(txts,"p")
- url = build_url("https",address,port, path, username,password)
- gnome.url_show(url)
-
-def _webdav_tcp(name, hostname, address, port, txts):
- path = get_txt_value(txts,"path")
- username = get_txt_value(txts,"u")
- password = get_txt_value(txts,"p")
- url = build_url("dav",address,port, path, username,password)
- gnome.url_show(url)
-
-def _webdavs_tcp(name, hostname, address, port, txts):
- path = get_txt_value(txts,"path")
- username = get_txt_value(txts,"u")
- password = get_txt_value(txts,"p")
- url = build_url("davs",address,port, path, username,password)
- gnome.url_show(url)
-
-def _ftp_tcp(name, hostname, address, port, txts):
- path = get_txt_value(txts,"path")
- username = get_txt_value(txts,"u")
- password = get_txt_value(txts,"p")
- url = build_url("ftp",address,port, path, username,password)
- gnome.url_show(url)
-
-def _sftpssh_tcp(name, hostname, address, port, txts):
- path = get_txt_value(txts,"path")
- username = get_txt_value(txts,"u")
- password = get_txt_value(txts,"p")
- url = build_url("sftp",address,port, path, username,password)
- gnome.url_show(url)
-
-def enter_callback(widget, win):
- win.response(gtk.RESPONSE_OK)
-
-def SshLogin(hostname, username = None):
- global win
- win = gtk.Dialog(_("SSH Connection"), None,
- gtk.DIALOG_MODAL,
- (gtk.STOCK_OK, gtk.RESPONSE_OK,
- gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL))
-
- vbox = gtk.VBox(False, 5)
- win.vbox.pack_start(vbox, True, True, 0)
- vbox.set_border_width(5)
-
- label = gtk.Label()
- label.set_markup(_("Connecting to <b>%s</b>.\nPlease enter your <b>login</b>:") % (hostname))
-
- vbox.pack_start(label, False, False, 0)
-
- # Create our entry
- entry = gtk.Entry()
- if username!= None:
- entry.set_text(username)
- entry.connect("activate", enter_callback, win)
- vbox.pack_start(entry, False, False, 0)
-
- # Create the completion object
- completion = gtk.EntryCompletion()
-
- # Assign the completion to the entry
- entry.set_completion(completion)
-
- # Create a tree model and use it as the completion model
- completion_model = __create_completion_model()
- completion.set_model(completion_model)
-
- # Use model column 0 as the text column
- completion.set_text_column(0)
-
- win.show_all()
- if win.run() == gtk.RESPONSE_OK:
- win.destroy()
- return entry.get_text()
- else:
- win.destroy()
- return None
-
-def __create_completion_model():
- ''' Creates a tree model containing the completions.
- '''
- store = gtk.ListStore(str)
-
- iter = store.append()
- store.set(iter, 0, "root")
-
- current_user = pwd.getpwuid(os.getuid())[0]
- iter = store.append()
- store.set(iter, 0, current_user)
-
- return store
-
-def _ssh_tcp(name, hostname, address, port, txts):
-
- if txts.has_key("u"):
- username = SshLogin(name, txts["u"])
- else:
- username = SshLogin(name)
-
- if username == None:
- return
- elif username != "":
- sshline = "ssh -l %s -p %i %s" % (username, port, address)
- else:
- sshline = "ssh -p %i %s" % (port, address)
-
- cmdline = []
- cmdline.append("gnome-terminal")
- cmdline.append("--tab")
- cmdline.append("-t %s" % name)
- cmdline.append("-e %s" % sshline)
- pid = subprocess.Popen(cmdline).pid
-
-def handle(name, stype, hostname, address, port, txts):
- if stype == "_http._tcp":
- _http_tcp(name, hostname, address, port, txts)
- return
- if stype == "_https._tcp":
- _https_tcp(name, hostname, address, port, txts)
- return
- if stype == "_ftp._tcp":
- _ftp_tcp(name, hostname, address, port, txts)
- return
- if stype == "_ssh._tcp":
- _ssh_tcp(name, hostname, address, port, txts)
- return
- if stype == "_sftp-ssh._tcp":
- _sftpssh_tcp(name, hostname, address, port, txts)
- return
- if stype == "_webdav._tcp":
- _webdav_tcp(name, hostname, address, port, txts)
- return
- if stype == "_webdavs._tcp":
- _webdavs_tcp(name, hostname, address, port, txts)
- return
-
-if __name__ == "__main__":
- print build_url()
- print build_url("ftp")
- print build_url("https","www.google.com")
- print build_url("https","www.google.com",80)
- print build_url("https","www.google.com",80)
- print build_url("https","www.google.com",80,"test")
- print build_url("https","www.google.com",80,"/test")
- print build_url("https","www.google.com",80,"/test", "user")
- print build_url("https","www.google.com",0, "", None, "pass")
- print build_url("https","www.google.com",80,"/test", "user", "pass")