def Run(): #user_name = raw_input("4SS superuser name: ") #passwdHash = sha.new(getpass.getpass("Password for %s: " % user_name)).hexdigest() print "In the following prompts, just hit enter if the given defaults are OK." container_name = raw_input("Name for the container to create [web]: ") if not container_name: container_name = 'web' server_port = raw_input("Port on which to host the HTTP server [8080]: ") if not server_port: server_port = '8080' server_name = raw_input("Brief name to identify the server [4ss]: ") if not server_name: server_name = '4ss' contact = raw_input("Contact e-mail address to display in case of error [root@localhost]: ") if not contact: contact = 'root@localhost' server_doc = SERVER_FILE%locals() try: try: commit = 0 #Get the repository by logging in repo = SmartLogin() #repo = Core.GetRepository(user_name, passwdHash, 'localhost', 8803) cont = repo.createContainer('/' + container_name) cont.setAcl(AclConstants.WRITE_ACCESS, AclConstants.USERS_GROUP_NAME, AclConstants.ALLOWED) cont.setAcl(AclConstants.READ_ACCESS, AclConstants.USERS_GROUP_NAME, AclConstants.ALLOWED) cont.setAcl(AclConstants.READ_ACCESS, AclConstants.WORLD_GROUP_NAME, AclConstants.ALLOWED) doc = repo.createDocument('/' + container_name + '/server.xml', server_doc, imt='text/xml', docDef=None, forcedType=ResourceTypes.ResourceType.SERVER) commit = 1 finally: try: if commit: repo.txCommit() else: repo.txRollback() except: pass except FtServerClientException, e: print e