def Run(path): try: try: commit = 0 #Get the repository by logging in repo = SmartLogin() model = repo.getModel() user = repo.getCurrentUser().getAbsolutePath() user = RepoPathToUri(user) stmts = model.complete(user, DASHBOARD_NS+"ns-mappings", None) if not stmts: new_doc = repo.createDocument( path, NS_MAPPING_TEMPLATE, imt='text/xml', forcedType=ResourceTypes.ResourceType.XML_DOCUMENT) #container = new_doc.getParent().getAbsolutePath() #print container stmt = Statement(user, DASHBOARD_NS + "ns-mappings", path, scope=path) model.add(stmt) commit = 1 else: print "This user already has a namespace mapping file: ", stmts[0].object finally: try: if commit: repo.txCommit() else: repo.txRollback() except: pass except FtServerClientException, e: print e
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