def handleWWWListAddCredentials(request): if 'credential_name' in request.body and core.keysInDict( ['credential_name', 'description', 'ctype', 'metadata'], request.body): # Users can provide a file name or the actual contents of the # certificate. if 'cert_file' in request.body: cert = open(request.body['cert_file']).read() else: cert = request.body['cert'] if 'pkey_file' in request.body: pkey = open(request.body['pkey_file']).read() else: pkey = request.body['pkey'] conf = config.configFromMap(request.body.get('conf', {}), base=config.configFromEnv()) cred = persist.createCredential(name=request.body['credential_name'], desc=request.body['description'], ctype=request.body['ctype'], cert=cert, pkey=pkey, active=True, metadata=request.body['metadata'], conf=conf) taskName = yield tasks_tx.createTaskAndSave('addCredential', 1) instantiateAndSaveCredential(taskName, cred, request.state.credentialPersist) queue.returnQueueSuccess(request.mq, request.body['return_queue'], taskName) defer.returnValue(request) elif 'credential_name' not in request.body: credentials = request.state.credentialsCache.getAllCredentials() credentialsDicts = [{ 'name': name, 'description': c['cred_instance'].credential.desc, 'num_instances': len(c['instances']), 'ctype': c['cred_instance'].credential.getCType() } for name, c in credentials.iteritems() if ('credential_names' in request.body and name in request.body['credential_names']) or 'credential_names' not in request.body] queue.returnQueueSuccess(request.mq, request.body['return_queue'], credentialsDicts) defer.returnValue(request) else: queue.returnQueueError(request.mq, request.body['return_queue'], 'Unknown credential query') raise UnknownRequestError(str(request.body))
def handleWWWListAddCredentials(request): if 'credential_name' in request.body and core.keysInDict(['credential_name', 'description', 'ctype', 'metadata'], request.body): # Users can provide a file name or the actual contents of the # certificate. if 'cert_file' in request.body: cert = open(request.body['cert_file']).read() else: cert = request.body['cert'] if 'pkey_file' in request.body: pkey = open(request.body['pkey_file']).read() else: pkey = request.body['pkey'] conf = config.configFromMap(request.body.get('conf', {}), base=config.configFromEnv()) cred = persist.createCredential(name=request.body['credential_name'], desc=request.body['description'], ctype=request.body['ctype'], cert=cert, pkey=pkey, active=True, metadata=request.body['metadata'], conf=conf) taskName = yield tasks_tx.createTaskAndSave('addCredential', 1) instantiateAndSaveCredential(taskName, cred, request.state.credentialPersist) queue.returnQueueSuccess(request.mq, request.body['return_queue'], taskName) defer.returnValue(request) elif 'credential_name' not in request.body: credentials = request.state.credentialsCache.getAllCredentials() credentialsDicts = [{'name': name, 'description': c['cred_instance'].credential.desc, 'num_instances': len(c['instances']), 'ctype': c['cred_instance'].credential.getCType()} for name, c in credentials.iteritems() if ('credential_names' in request.body and name in request.body['credential_names']) or 'credential_names' not in request.body] queue.returnQueueSuccess(request.mq, request.body['return_queue'], credentialsDicts) defer.returnValue(request) else: queue.returnQueueError(request.mq, request.body['return_queue'], 'Unknown credential query') raise UnknownRequestError(str(request.body))
def _(request): if core.keysInDict(ks, request.body): return defer_pipe.ret(request) else: raise Exception('Missing keys in request %r %r' % (ks, request.body))