Skip to content
This repository was archived by the owner on Oct 10, 2022. It is now read-only.

Commit a56e9af

Browse files
committed
Fixed list command only listing 100 files in cases where the user has uploaded more than 100 files
1 parent 4e8490e commit a56e9af

1 file changed

Lines changed: 17 additions & 3 deletions

File tree

libs/driveAPI.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,23 @@ def begin_storage(file_path):
100100

101101
#Lists folders and their IDs (excluding folders in Trash)
102102
def list_files(service):
103-
results = service.files().list(q="(mimeType='application/vnd.google-apps.folder') and (trashed=False) and ('" + get_root_folder_id(service) + "' in parents)", fields="nextPageToken, files(id, name)").execute()
104-
folders = results.get('files', [])
105-
filesList = [[folder.get('name'), folder.get('id')] for folder in reversed(folders)]
103+
query = "(mimeType='application/vnd.google-apps.folder') and (trashed=False) and ('" + get_root_folder_id(service) + "' in parents)"
104+
page_token = None
105+
filesList = list()
106+
while True:
107+
param = {}
108+
109+
if page_token:
110+
param['pageToken'] = page_token
111+
112+
results = service.files().list(q=query, fields="nextPageToken, files(id, name)", **param).execute()
113+
filesList += results.get('files', [])
114+
115+
page_token = results.get('nextPageToken')
116+
if not page_token:
117+
break
118+
119+
filesList = [[folder.get('name'), folder.get('id')] for folder in filesList]
106120
filesList.sort()
107121
return filesList
108122

0 commit comments

Comments
 (0)