4040
4141"""
4242
43- VERSION = "2.0.0 "
43+ VERSION = "2.0.1 "
4444
4545# Define Scopes for Application
4646SCOPES = [
@@ -118,7 +118,7 @@ def load_database(path, init_dict):
118118
119119
120120class 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
0 commit comments