Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python2.5
- from __future__ import with_statement
- import sys
- import getopt
- from getpass import getpass
- from ZSI import ServiceProxy
- import csv
- import xml.dom.minidom
- from time import time
- import pickle
- ###################################################
- # set default values
- port=8080
- host="drop2.lms.gatech.edu"
- proto="http"
- ####################################################
- # Handle command line options
- def usage(rcode=1):
- print "usage: ", sys.argv[0], " [--file,-f=<file> --host=<hostname> --port=,-p<port> --help,-h --ssl,-s]"
- sys.exit(rcode)
- try:
- optlist, args = getopt.getopt(sys.argv[1:], "f:sh:p:", ['help', 'port=', 'host=', 'ssl', 'file='])
- except getopt.GetoptError:
- usage()
- for opt, arg in optlist:
- if opt in ["-h", "--help"]:
- usage(0)
- elif opt in ["--host"]:
- host=arg
- continue
- elif opt in ["-p", "--port"]:
- port=int(arg)
- continue
- elif opt in ["-s", "--ssl"]:
- proto='https'
- continue
- elif opt in ["-f", "--file"]:
- file=arg
- continue
- ############################################
- # Log into the web service
- login_wsdl = proto + '://' + host + ':' + str(port) + '/sakai-axis/SakaiLogin.jws?wsdl'
- login = ServiceProxy.ServiceProxy(login_wsdl)
- user=raw_input("username: ")
- password=getpass("password: ")
- session=login.login(id=user, pw=password)['loginReturn']
- ############################################
- # XML Helper Methods
- def getText(nodelist):
- rc = ""
- for node in nodelist:
- if node.nodeType == node.TEXT_NODE:
- rc = rc + node.data
- return rc
- ############################################
- # Scripted actions below
- script_wsdl = proto + '://' + host + ':' + str(port) + '/sakai-axis/SakaiScript.jws?wsdl'
- script = ServiceProxy.ServiceProxy(script_wsdl)
- gtscript_wsdl = proto + '://' + host + ':' + str(port) + '/sakai-axis/GaTechScript.jws?wsdl'
- gtscript = ServiceProxy.ServiceProxy(gtscript_wsdl)
- with open(file) as f:
- for siteid in f:
- siteid = siteid.strip()
- print "Adding DropBox tool to", siteid, ":\t",
- result = script.removePageFromSite(sessionid=session, siteid=siteid, pagetitle=u'Drop Box')['removePageFromSiteReturn']
- result += " " + script.addNewPageToSite(sessionid=session, siteid=siteid, pagetitle="Drop Box", pagelayout=0)['addNewPageToSiteReturn']
- result += " " + script.addNewToolToPage(sessionid=session, siteid=siteid, pagetitle="Drop Box", tooltitle="DROP BOX", toolid="sakai.dropbox", layouthints="")['addNewToolToPageReturn']
- print result
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement