def test_invalidtoken(): try: PCS('abc').info() except InvalidToken: assert True else: assert False
def b_auth(b_app_key,b_app_secret): global b_access_token print 'Authenticating with Baidu' if not b_access_token code_url = 'https://openapi.baidu.com/oauth/2.0/device/code?' code_url += 'client_id=' + b_app_key code_url += '&response_type=device_code' code_url += '&scope=basic netdisk' response = urllib2.urlopen(code_url) data = json.load(response) reply = raw_input("Enter 'y' here when you have submitted the user code '" + data['user_code'] + "' at " + data['verification_url']).strip() if reply == 'y': code_url = 'https://openapi.baidu.com/oauth/2.0/token?' code_url += 'grant_type=device_token' code_url += '&code=' + data['device_code'] code_url += '&client_id=' + b_app_key code_url += '&client_secret=' + b_app_secret response1 = urllib2.urlopen(code_url) data1 = json.load(response1) if not ('error' in data1): b_access_token = data1['access_token'] cfg = ConfigParser.ConfigParser() cfg.set('Baidu',b_access_token) cfgfile = open('Dropbox2BaiduPCS.cfg','w') config.write(cfgfile) cfgfile.close() else: reply = raw_input("Authentication failed. Do you wish to try again? (y/n)").strip() if reply == 'y': b_auth(b_app_key,b_app_secret) else: print 'OK, bye!' sys.exit() else: reply = raw_input("Do you wish to try to authorise with Baidu again? (y/n)").strip() if reply == 'y': b_auth(b_app_key,b_app_secret) else: print 'OK, bye!' sys.exit() if(b_access_token != ''): pcs = PCS(b_access_token) qresponse = pcs.info() qdata = qresponse.json() print 'Baidu Quota: ' + sizeof_fmt(float(qdata["quota"])) print 'Baidu Used: ' + sizeof_fmt(float(qdata['used'])) qdata = pcs.meta('/apps/mygreater/dropbox').json(); if ('error_code' in qdata): print 'Creating Dropbox folder on Baidu...' qdata = pcs.mkdir(bpath) print 'Baidu Ready!' else: print 'Baidu Ready!' return pcs
def connPCS(self): try: pcs = PCS(self.baidu_accesstoken) reponse = pcs.info() if reponse.ok: self.pcsflag = True self.pcs = pcs else: self.pcsflag = False except InvalidToken, ex: print InvalidToken, ":", ex
import MySQLdb db = MySQLdb.connect("localhost", "david", "david", "picturetoken") cursor = db.cursor() cursor.execute("select * from picturetoken") rs = cursor.fetchone() # cursor.close print rs print rs[2] access_token = rs[1] refresh_token = rs[2] from baidupcs import PCS # access_token = '21.9403b998cd9b271fa44a54199aad2949.2592000.1401980588.3875775130-1056026' pcs = PCS(access_token) def create_cache(): pass def test_thumbnail(): response = pcs.thumbnail('/apps/justpic/5K/118000/118097.jpeg', 400, 400) print response.url # im = Image.open(StringIO(response.content)) # im.show() print response.ok assert response.ok test_thumbnail()
def test(self): pcs = PCS('access_token') response = pcs.info() print(response) if response.status_code == 200: print(response.content)