Skip to content

Commit e579fab

Browse files
version 2.0.1
added debugging mode and fixed bug with mediaItems not found Former-commit-id: 559ea23
1 parent aad47d0 commit e579fab

File tree

2 files changed

+45
-4
lines changed

2 files changed

+45
-4
lines changed

gparch.py

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
4141
"""
4242

43-
VERSION = "2.0.0"
43+
VERSION = "2.0.1"
4444

4545
# Define Scopes for Application
4646
SCOPES = [
@@ -118,7 +118,7 @@ def load_database(path, init_dict):
118118

119119

120120
class PhotosAccount(object):
121-
def __init__(self, credentials_path, directory, thread_count):
121+
def __init__(self, credentials_path, directory, thread_count, debug):
122122
# Define directory instance variables
123123
self.base_dir = directory
124124
self.lib_dir = self.base_dir + "/Library"
@@ -132,6 +132,10 @@ def __init__(self, credentials_path, directory, thread_count):
132132
self.service = None # is None because it will be defined later by calling "get_google_api_service"
133133
self.timer = time()
134134
self.downloads = 0
135+
self.debug = debug
136+
137+
if self.debug:
138+
safe_mkdir('debug')
135139

136140
# Define/Init Database
137141
self.db_path = self.base_dir + "/" + DATABASE_NAME
@@ -374,9 +378,14 @@ def download_single_album(self, album, shared=False):
374378
)
375379

376380
def list_media_items(self):
381+
num = 0
377382
media_items_list = []
378383
request = self.service.mediaItems().list(pageSize=100).execute() # Max is 50
384+
if not request:
385+
return {}
379386
while True:
387+
if self.debug:
388+
save_json(request, 'debug/media' + str(num) + '.json')
380389
media_items_list += request["mediaItems"]
381390
if "nextPageToken" in request:
382391
next_page = request["nextPageToken"]
@@ -387,12 +396,20 @@ def list_media_items(self):
387396
)
388397
else:
389398
break
399+
num += 1
400+
if self.debug:
401+
save_json(media_items_list, "debug/media_items_list.json")
390402
return media_items_list
391403

392404
def list_albums(self):
405+
num = 0
393406
album_list = []
394407
request = self.service.albums().list(pageSize=50).execute() # Max is 50
408+
if not request:
409+
return {}
395410
while True:
411+
if self.debug:
412+
save_json(request, 'debug/albums' + str(num) + '.json')
396413
album_list += request["albums"]
397414
if "nextPageToken" in request:
398415
next_page = request["nextPageToken"]
@@ -403,12 +420,20 @@ def list_albums(self):
403420
)
404421
else:
405422
break
423+
num += 1
424+
if self.debug:
425+
save_json(album_list, "debug/album_list.json")
406426
return album_list
407427

408428
def list_shared_albums(self):
409429
shared_album_list = []
410430
request = self.service.sharedAlbums().list(pageSize=50).execute() # Max is 50
431+
num = 0
432+
if not request:
433+
return {}
411434
while True:
435+
if self.debug:
436+
save_json(request, 'debug/shared_albums' + str(num) + '.json')
412437
shared_album_list += request["sharedAlbums"]
413438
if "nextPageToken" in request:
414439
next_page = request["nextPageToken"]
@@ -419,6 +444,9 @@ def list_shared_albums(self):
419444
)
420445
else:
421446
break
447+
num += 1
448+
if self.debug:
449+
save_json(shared_album_list, "debug/shared_album_list.json")
422450
return shared_album_list
423451

424452
def search_favorites(self):
@@ -428,15 +456,22 @@ def search_favorites(self):
428456
"pageSize": 100, # Max is 100
429457
"pageToken": "",
430458
}
431-
459+
num = 0
432460
# Make request
433461
favorites_list = []
434462
request = self.service.mediaItems().search(body=request_body).execute()
463+
if not request:
464+
return {}
435465
while True:
466+
if self.debug:
467+
save_json(request, 'debug/favorites' + str(num) + '.json')
436468
favorites_list += request["mediaItems"]
437469
if "nextPageToken" in request:
438470
request_body["pageToken"] = request["nextPageToken"]
439471
request = self.service.mediaItems().search(body=request_body).execute()
440472
else:
441473
break
474+
num += 1
475+
if self.debug:
476+
save_json(favorites_list, "debug/favorites_list.json")
442477
return favorites_list

gparch_cli.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,12 @@
5858
help="path to Google Cloud OAuth2 Credentials (default: {CURRENT_DIR}/credentials.json)",
5959
type=str,
6060
)
61+
parser.add_argument(
62+
"-d",
63+
"--debug",
64+
help="enable debugging mode",
65+
action="store_true"
66+
)
6167
parser.add_argument(
6268
"-t",
6369
"--threads",
@@ -106,7 +112,7 @@
106112
args.credentials = args.directory + "/credentials.json"
107113

108114
# Init PhotosAccount object
109-
account = PhotosAccount(args.credentials, args.directory, args.threads)
115+
account = PhotosAccount(args.credentials, args.directory, args.threads, args.debug)
110116

111117
account.get_google_api_service()
112118

0 commit comments

Comments
 (0)