Added delete all in dropbox service and iot client help command
This commit is contained in:
parent
ce34ce8562
commit
ddf0cbf2d7
@ -171,6 +171,7 @@ while (command.lower() not in ["exit", "quit", "end"]):
|
|||||||
print("fetch - gets the next image from database if exists")
|
print("fetch - gets the next image from database if exists")
|
||||||
print("fetchall - get all images")
|
print("fetchall - get all images")
|
||||||
print("delete - delets the next image from db if exists")
|
print("delete - delets the next image from db if exists")
|
||||||
|
print("delete - delets all images from the service")
|
||||||
print("rapid <#amount> - next <amound> images in line are sent to backend in 2 second intervals")
|
print("rapid <#amount> - next <amound> images in line are sent to backend in 2 second intervals")
|
||||||
print("skip [<#amount>] - skips the next <amount> number of images in line or 1 if no <amount> is given")
|
print("skip [<#amount>] - skips the next <amount> number of images in line or 1 if no <amount> is given")
|
||||||
print("set <#index> - sets image on given <index> as next in line")
|
print("set <#index> - sets image on given <index> as next in line")
|
||||||
|
|||||||
@ -61,4 +61,19 @@ class DropboxService:
|
|||||||
dbx.files_delete_v2(settings.DROPBOX_IMAGE_FOLDER + filename)
|
dbx.files_delete_v2(settings.DROPBOX_IMAGE_FOLDER + filename)
|
||||||
except:
|
except:
|
||||||
return False
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def delete_all() -> bool:
|
||||||
|
"""Delete every file from the dropbox storage.
|
||||||
|
|
||||||
|
:return: Whether the storage was successfully emptied
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
dbx = dropbox.Dropbox(settings.DROPBOX_OAUTH2_ACCESS_TOKEN)
|
||||||
|
dbx.files_delete_v2(settings.DROPBOX_IMAGE_FOLDER[:-1])
|
||||||
|
dbx.files_create_folder_v2(settings.DROPBOX_IMAGE_FOLDER[:-1])
|
||||||
|
except dropbox.exceptions.ApiError as e:
|
||||||
|
print(e)
|
||||||
|
return False
|
||||||
return True
|
return True
|
||||||
@ -109,19 +109,35 @@ class ImageEndpoint:
|
|||||||
def image_api_delete(request: HttpRequest, identifier):
|
def image_api_delete(request: HttpRequest, identifier):
|
||||||
|
|
||||||
logger.debug('Image DELETE single call: {}'.format(request))
|
logger.debug('Image DELETE single call: {}'.format(request))
|
||||||
|
result_bool = True
|
||||||
|
|
||||||
|
# get metadata from MongoDB
|
||||||
|
metadata = MongoDBService.getSingle(identifier)
|
||||||
|
if not metadata:
|
||||||
|
return JsonResponse({'Result': 'Error - could not find any metadata in mongoDB.',
|
||||||
|
'id': identifier}, status=404, safe=False)
|
||||||
|
|
||||||
resp = MongoDBService.deleteSingle(identifier)
|
resp = MongoDBService.deleteSingle(identifier)
|
||||||
print(resp)
|
print(resp)
|
||||||
|
|
||||||
return JsonResponse({'Result': 'success1'}, safe=False)
|
if not DropboxService.delete_file(metadata['filename']):
|
||||||
|
print('Error deleting file in dropbox')
|
||||||
|
result_bool = False
|
||||||
|
|
||||||
|
return JsonResponse({'Result': result_bool}, safe=False)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@api_view(['DELETE'])
|
@api_view(['DELETE'])
|
||||||
def image_api_delete_all(request: HttpRequest):
|
def image_api_delete_all(request: HttpRequest):
|
||||||
|
|
||||||
logger.debug('Image DELETE single call: {}'.format(request))
|
logger.debug('Image DELETE single call: {}'.format(request))
|
||||||
|
result_bool = True
|
||||||
|
|
||||||
resp = MongoDBService.deleteAll()
|
resp = MongoDBService.deleteAll()
|
||||||
print(resp)
|
print(resp)
|
||||||
|
|
||||||
return JsonResponse({'Result': 'success1'}, safe=False)
|
if not DropboxService.delete_all():
|
||||||
|
print('Error deleting dropbox folder')
|
||||||
|
result_bool = False
|
||||||
|
|
||||||
|
return JsonResponse({'Result': result_bool}, safe=False)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user