當前位置: 首頁>>代碼示例>>Python>>正文


Python RUNTIME.load_pending_tenant方法代碼示例

本文整理匯總了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)
開發者ID:gastontelfe,項目名稱:empower-runtime,代碼行數:34,代碼來源:restserver.py

示例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
開發者ID:herlesupreeth,項目名稱:5G-Controller,代碼行數:85,代碼來源:apihandlers.py


注:本文中的empower.main.RUNTIME.load_pending_tenant方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。