Пример #1
0
    def refreshToken(self):
        """Refresh access token"""
        super(BaiduCloudAPI, self).refreshToken()
        api_url = self.cf.get("BaiduCloud", "openapi_url") + "/token"
        logging.debug('[BaiduPlugin]: refreshToken: URL=>%s', api_url)
        param = {
            "grant_type": "refresh_token",
            "refresh_token": self.cf.get("BaiduCloud", "refresh_token"),
            "client_id": self.cf.get("BaiduCloud", "api_key"),
            "client_secret": self.cf.get("BaiduCloud", "secret_key")
        }
        try:
            ret_fp = cloud_post(api_url, param)
            data = json.load(ret_fp)

            logging.debug(
                '[BaiduPlugin]: getToken: access_token=>%s, refresh_token=>%s',
                data["access_token"], data["refresh_token"])

            self.cf.set("BaiduCloud", "access_token", data["access_token"])
            self.cf.set("BaiduCloud", "refresh_token", data["refresh_token"])
            self.cf.set("BaiduCloud", "session_key", data["session_key"])
            self.cf.set("BaiduCloud", "session_secret", data["session_secret"])
            self.cf.set("BaiduCloud", "scope", data["scope"])

            ret_fp.close()
        except ValueError, e:
            logging.error('[%s]: refreshToken JSON load error %s', e)
Пример #2
0
    def mkdirInCloud(self, dirPath):
        """make dir in cloud"""
        super(BaiduCloudAPI, self).mkdirInCloud(dirPath)
        param = {'method': 'mkdir', 'access_token': self.cf.get('BaiduCloud', 'access_token')}
        param['path'] = self.cf.get('BaiduCloud', 'app_path') + '/' + dirPath
        url = self.cf.get('BaiduCloud', 'pcs_url') + '/file'

        res = E_API_ERR
        try:
            f = cloud_post(url, param)
            res = json.load(f)
            f.close()
        except urllib2.HTTPError, e:
            self.pcsErrorHandler(e)
            res = E_API_ERR
Пример #3
0
    def deleteSingleFile(self, filePath, syncPath=None):
        """delete singel file or folder"""
        super(BaiduCloudAPI, self).deleteSingleFile(filePath, syncPath)
        param = {'method': 'delete', 'access_token': self.cf.get("BaiduCloud", "access_token")}
        param['path'] = self.cf.get('BaiduCloud', 'app_path') + '/' + filePath
        url = self.cf.get('BaiduCloud', 'pcs_url') + '/file'

        res = E_API_ERR
        try:
            f = cloud_post(url, param)
            res = json.load(f)
            f.close()
        except urllib2.HTTPError, e:
            self.pcsErrorHandler(e)
            res = E_API_ERR
Пример #4
0
    def mkdirInCloud(self, dirPath):
        """make dir in cloud"""
        super(BaiduCloudAPI, self).mkdirInCloud(dirPath)
        param = {
            'method': 'mkdir',
            'access_token': self.cf.get('BaiduCloud', 'access_token')
        }
        param['path'] = self.cf.get('BaiduCloud', 'app_path') + '/' + dirPath
        url = self.cf.get('BaiduCloud', 'pcs_url') + '/file'

        res = E_API_ERR
        try:
            f = cloud_post(url, param)
            res = json.load(f)
            f.close()
        except urllib2.HTTPError, e:
            self.pcsErrorHandler(e)
            res = E_API_ERR
Пример #5
0
    def deleteSingleFile(self, filePath, syncPath=None):
        """delete singel file or folder"""
        super(BaiduCloudAPI, self).deleteSingleFile(filePath, syncPath)
        param = {
            'method': 'delete',
            'access_token': self.cf.get("BaiduCloud", "access_token")
        }
        param['path'] = self.cf.get('BaiduCloud', 'app_path') + '/' + filePath
        url = self.cf.get('BaiduCloud', 'pcs_url') + '/file'

        res = E_API_ERR
        try:
            f = cloud_post(url, param)
            res = json.load(f)
            f.close()
        except urllib2.HTTPError, e:
            self.pcsErrorHandler(e)
            res = E_API_ERR
Пример #6
0
    def lsInCloud(self, filePath):
        """list dir in cloud"""
        super(BaiduCloudAPI, self).lsInCloud(filePath)
        param = {'method': 'list', 'access_token': self.cf.get("BaiduCloud", "access_token")}
        param['path'] = self.cf.get('BaiduCloud', 'app_path') + '/' + filePath
        url = self.cf.get('BaiduCloud', 'pcs_url') + '/file'

        data = {}
        res = E_API_ERR

        try:
            f = cloud_post(url, param)
            data = json.load(f)
            #logging.debug('[%s]: data %s', self.getName(), data)
            f.close()
            res = E_OK
        except urllib2.HTTPError, e:
            self.pcsErrorHandler(e)
            res = E_API_ERR
Пример #7
0
    def lsInCloud(self, filePath):
        """list dir in cloud"""
        super(BaiduCloudAPI, self).lsInCloud(filePath)
        param = {
            'method': 'list',
            'access_token': self.cf.get("BaiduCloud", "access_token")
        }
        param['path'] = self.cf.get('BaiduCloud', 'app_path') + '/' + filePath
        url = self.cf.get('BaiduCloud', 'pcs_url') + '/file'

        data = {}
        res = E_API_ERR

        try:
            f = cloud_post(url, param)
            data = json.load(f)
            #logging.debug('[%s]: data %s', self.getName(), data)
            f.close()
            res = E_OK
        except urllib2.HTTPError, e:
            self.pcsErrorHandler(e)
            res = E_API_ERR
Пример #8
0
    def refreshToken(self):
        """Refresh access token"""
        super(BaiduCloudAPI, self).refreshToken()
        api_url = self.cf.get("BaiduCloud", "openapi_url") + "/token"
        logging.debug('[BaiduPlugin]: refreshToken: URL=>%s', api_url)
        param = {"grant_type": "refresh_token", "refresh_token": self.cf.get("BaiduCloud", "refresh_token"),
                 "client_id": self.cf.get("BaiduCloud", "api_key"),
                 "client_secret": self.cf.get("BaiduCloud", "secret_key")}
        try:
            ret_fp = cloud_post(api_url, param)
            data = json.load(ret_fp)

            logging.debug('[BaiduPlugin]: getToken: access_token=>%s, refresh_token=>%s', data["access_token"], data["refresh_token"])

            self.cf.set("BaiduCloud", "access_token", data["access_token"])
            self.cf.set("BaiduCloud", "refresh_token", data["refresh_token"])
            self.cf.set("BaiduCloud", "session_key", data["session_key"])
            self.cf.set("BaiduCloud", "session_secret", data["session_secret"])
            self.cf.set("BaiduCloud", "scope", data["scope"])

            ret_fp.close()
        except ValueError, e:
            logging.error('[%s]: refreshToken JSON load error %s', e)