コード例 #1
0
    def log_in(self, user, password, api_key=None):
        old_api_key = self.api_key()

        if api_key:
            # TODO: Sanitize?
            self.client.auth = auth.APIKey(api_key)
        else:
            # Do login. Propogate captured errors to caller
            # TODO: swap with new auth endpoint?
            #       auth/v1/experimental/public/users/authenticate

            try:
                res = self.client.login(user, password)
            except (APIException, InvalidIdentity) as exc:
                raise LoginException from exc

            if 'user_id' in res:
                self.p_user = res
                self.client.auth = auth.APIKey(self.p_user['api_key'])
                # self.update_user_quota()
            else:
                raise LoginException()

        if old_api_key != self.api_key():
            self.loginChanged.emit(self.has_api_key())
コード例 #2
0
    def log_out(self):
        old_api_key = self.api_key()

        # Do log out
        self.client.auth = auth.APIKey(API_KEY_DEFAULT)
        self.p_user = None

        if old_api_key != self.api_key():
            self.loginChanged.emit(self.has_api_key())
コード例 #3
0
ファイル: p_client.py プロジェクト: volaya/qgis-planet-plugin
    def log_in(self, user, password, api_key=None):
        old_api_key = self.api_key()

        if api_key:
            self.auth = auth.APIKey(api_key)
        else:
            try:
                res = self.login(user, password)
            except (APIException, InvalidIdentity) as exc:
                raise LoginException from exc

            if "user_id" in res:
                self.p_user = res
                self.auth = auth.APIKey(self.p_user["api_key"])
                self.update_user_quota()
            else:
                raise LoginException()

        if old_api_key != self.api_key():
            self.loginChanged.emit(self.has_api_key())
コード例 #4
0
 def set_api_key(self, api_key):
     self.client.auth = auth.APIKey(api_key)