本文整理汇总了Python中empower.main.RUNTIME.load_pending_tenant方法的典型用法代码示例。如果您正苦于以下问题:Python RUNTIME.load_pending_tenant方法的具体用法?Python RUNTIME.load_pending_tenant怎么用?Python RUNTIME.load_pending_tenant使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类empower.main.RUNTIME
的用法示例。
在下文中一共展示了RUNTIME.load_pending_tenant方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get
# 需要导入模块: from empower.main import RUNTIME [as 别名]
# 或者: from empower.main.RUNTIME import load_pending_tenant [as 别名]
def get(self, *args, **kwargs):
""" Lists all the tenants requested. Returns 404 if the requested
tenant does not exists.
Args:
tenant_id: network name of a tenant
Example URLs:
GET /api/v1/pending
GET /api/v1/pending/TenantName
"""
try:
if len(args) > 1:
raise ValueError("Invalid url")
if len(args) == 0:
user = self.get_argument("user", default=None)
if user:
pendings = RUNTIME.load_pending_tenants(user)
else:
pendings = RUNTIME.load_pending_tenants()
self.write_as_json(pendings)
else:
tenant_id = UUID(args[0])
pending = RUNTIME.load_pending_tenant(tenant_id)
self.write_as_json(pending)
except ValueError as ex:
self.send_error(400, message=ex)
except KeyError as ex:
self.send_error(404, message=ex)
示例2: prepare
# 需要导入模块: from empower.main import RUNTIME [as 别名]
# 或者: from empower.main.RUNTIME import load_pending_tenant [as 别名]
def prepare(self):
"""Prepare to handler reply."""
self.set_header('Content-Type', 'application/json')
if not self.RIGHTS[self.request.method]:
return
auth_header = self.request.headers.get('Authorization')
if auth_header is None or not auth_header.startswith('Basic '):
self.set_header('WWW-Authenticate', 'Basic realm=Restricted')
self.send_error(401)
return
auth_bytes = bytes(auth_header[6:], 'utf-8')
auth_decoded = base64.b64decode(auth_bytes).decode()
username, password = auth_decoded.split(':', 2)
# account does not exists
if not RUNTIME.check_permission(username, password):
self.send_error(401)
return
self.account = RUNTIME.get_account(username)
if self.account.role in self.RIGHTS[self.request.method]:
if self.account.role == ROLE_ADMIN:
return
if self.request.uri.startswith("/api/v1/accounts"):
pattern = re.compile("/api/v1/accounts/([a-zA-Z0-9:-]*)/?")
match = pattern.match(self.request.uri)
if match and match.group(1):
if match.group(1) in RUNTIME.accounts:
account = RUNTIME.accounts[match.group(1)]
if self.account.username == account.username:
return
else:
self.send_error(401)
return
return
if self.request.uri.startswith("/api/v1/pending"):
pattern = re.compile("/api/v1/pending/([a-zA-Z0-9-]*)/?")
match = pattern.match(self.request.uri)
if match and match.group(1):
try:
tenant_id = UUID(match.group(1))
except ValueError:
self.send_error(400)
return
pending = RUNTIME.load_pending_tenant(tenant_id)
if pending:
if self.account.username == pending.owner:
return
self.send_error(401)
return
return
if self.request.uri.startswith("/api/v1/tenants"):
pattern = re.compile("/api/v1/tenants/([a-zA-Z0-9-]*)/?")
match = pattern.match(self.request.uri)
if match and match.group(1):
tenant_id = UUID(match.group(1))
if tenant_id in RUNTIME.tenants:
tenant = RUNTIME.tenants[tenant_id]
if self.account.username == tenant.owner:
return
self.send_error(401)
return
return
self.send_error(401)
return