@@ -346,43 +346,63 @@ class Meta:
346346 ordering = ["-created" ]
347347
348348
349- @receiver (post_delete , sender = Issue )
350- def delete_image_on_issue_delete (sender , instance , ** kwargs ):
351- if instance .screenshot :
352- client = storage .Client ()
353- bucket = client .bucket (settings .GS_BUCKET_NAME )
354- blob_name = instance .screenshot .name
355- blob = bucket .blob (blob_name )
356- try :
357- logger .info (f"Attempting to delete image from Google Cloud Storage: { blob_name } " )
358- blob .delete ()
359- logger .info (f"Successfully deleted image from Google Cloud Storage: { blob_name } " )
360- except NotFound :
361- logger .warning (f"File not found in Google Cloud Storage: { blob_name } " )
362- except Exception as e :
363- logger .error (f"Error deleting image from Google Cloud Storage: { blob_name } - { str (e )} " )
349+ if "storages.backends.gcloud.GoogleCloudStorage" in settings .DEFAULT_FILE_STORAGE :
350+
351+ @receiver (post_delete , sender = Issue )
352+ def delete_image_on_issue_delete (sender , instance , ** kwargs ):
353+ if instance .screenshot :
354+ client = storage .Client ()
355+ bucket = client .bucket (settings .GS_BUCKET_NAME )
356+ blob_name = instance .screenshot .name
357+ blob = bucket .blob (blob_name )
358+ try :
359+ logger .info (f"Attempting to delete image from Google Cloud Storage: { blob_name } " )
360+ blob .delete ()
361+ logger .info (f"Successfully deleted image from Google Cloud Storage: { blob_name } " )
362+ except NotFound :
363+ logger .warning (f"File not found in Google Cloud Storage: { blob_name } " )
364+ except Exception as e :
365+ logger .error (
366+ f"Error deleting image from Google Cloud Storage: { blob_name } - { str (e )} "
367+ )
368+ else :
369+
370+ @receiver (post_delete , sender = Issue )
371+ def delete_image_on_issue_delete (sender , instance , ** kwargs ):
372+ if instance .screenshot :
373+ instance .screenshot .delete (save = False )
364374
365375
366376class IssueScreenshot (models .Model ):
367377 image = models .ImageField (upload_to = "screenshots" , validators = [validate_image ])
368378 issue = models .ForeignKey (Issue , on_delete = models .CASCADE , related_name = "screenshots" )
369379
370380
371- @receiver (post_delete , sender = IssueScreenshot )
372- def delete_image_on_post_delete (sender , instance , ** kwargs ):
373- if instance .image :
374- client = storage .Client ()
375- bucket = client .bucket (settings .GS_BUCKET_NAME )
376- blob_name = instance .image .name
377- blob = bucket .blob (blob_name )
378- try :
379- logger .info (f"Attempting to delete image from Google Cloud Storage: { blob_name } " )
380- blob .delete ()
381- logger .info (f"Successfully deleted image from Google Cloud Storage: { blob_name } " )
382- except NotFound :
383- logger .warning (f"File not found in Google Cloud Storage: { blob_name } " )
384- except Exception as e :
385- logger .error (f"Error deleting image from Google Cloud Storage: { blob_name } - { str (e )} " )
381+ if "storages.backends.gcloud.GoogleCloudStorage" in settings .DEFAULT_FILE_STORAGE :
382+
383+ @receiver (post_delete , sender = IssueScreenshot )
384+ def delete_image_on_post_delete (sender , instance , ** kwargs ):
385+ if instance .image :
386+ client = storage .Client ()
387+ bucket = client .bucket (settings .GS_BUCKET_NAME )
388+ blob_name = instance .image .name
389+ blob = bucket .blob (blob_name )
390+ try :
391+ logger .info (f"Attempting to delete image from Google Cloud Storage: { blob_name } " )
392+ blob .delete ()
393+ logger .info (f"Successfully deleted image from Google Cloud Storage: { blob_name } " )
394+ except NotFound :
395+ logger .warning (f"File not found in Google Cloud Storage: { blob_name } " )
396+ except Exception as e :
397+ logger .error (
398+ f"Error deleting image from Google Cloud Storage: { blob_name } - { str (e )} "
399+ )
400+ else :
401+
402+ @receiver (post_delete , sender = IssueScreenshot )
403+ def delete_image_on_post_delete (sender , instance , ** kwargs ):
404+ if instance .image :
405+ instance .image .delete (save = False )
386406
387407
388408@receiver (post_save , sender = Issue )
0 commit comments