| 378 | return newShareToken |
| 379 | |
| 380 | def listFiles(self,map,shareId,shareToken,fileId,subtitle={}): |
| 381 | url = 'https://api.aliyundrive.com/adrive/v3/file/list' |
| 382 | newHeader = self.header.copy() |
| 383 | newHeader['x-share-token'] = shareToken |
| 384 | params = { |
| 385 | 'image_thumbnail_process':'image/resize,w_160/format,jpeg', |
| 386 | 'image_url_process':'image/resize,w_1920/format,jpeg', |
| 387 | 'limit':200, |
| 388 | 'order_by':'updated_at', |
| 389 | 'order_direction':'DESC', |
| 390 | 'parent_file_id':fileId, |
| 391 | 'share_id':shareId, |
| 392 | 'video_thumbnail_process':'video/snapshot,t_1000,f_jpg,ar_auto,w_300' |
| 393 | } |
| 394 | maker = '' |
| 395 | arrayList = [] |
| 396 | for i in range(1,51): |
| 397 | if i >= 2 and len(maker) == 0: |
| 398 | break |
| 399 | params['marker'] = maker |
| 400 | rsp = requests.post(url,json = params,headers=newHeader) |
| 401 | jo = json.loads(rsp.text) |
| 402 | ja = jo['items'] |
| 403 | for jt in ja: |
| 404 | if jt['type'] == 'folder': |
| 405 | arrayList.append(jt['file_id']) |
| 406 | else: |
| 407 | if 'video' in jt['mime_type'] or 'video' in jt['category']: |
| 408 | repStr = jt['name'].replace("#", "_").replace("$", "_").replace(jt['file_extension'],'')[0:-1] |
| 409 | map[repStr] = shareId + "+" + shareToken + "+" + jt['file_id'] + "+" + jt['category'] + "+" |
| 410 | elif 'others' == jt['category'] and ('srt' == jt['file_extension'] or 'ass' == jt['file_extension']): |
| 411 | repStr = jt['name'].replace("#", "_").replace("$", "_").replace(jt['file_extension'],'')[0:-1] |
| 412 | subtitle[repStr] = jt['file_id'] |
| 413 | maker = jo['next_marker'] |
| 414 | i = i + 1 |
| 415 | |
| 416 | for item in arrayList: |
| 417 | self.listFiles(map,shareId,shareToken,item,subtitle) |
| 418 | for key in map.keys(): |
| 419 | for subKey in subtitle.keys(): |
| 420 | if key in subKey and map[key][-1] == "+": |
| 421 | map[key]=map[key]+subtitle[subKey] |
| 422 | break |
| 423 | |
| 424 | def login(self): |
| 425 | self.localTime = int(time.time()) |