Conflit entre interruption et condition picamera

Bonjour,
J’utilise une interruption pour prendre une photo avec ma camera et j’utilise aussi une condition qui si elle est vérifiée, va prendre le nom de la photo.
Le problème est que lorsque je fais ça, le fichier jpg est vide.
C’est comme si mon interruption et ma condition se déroulait en même temps et que ma condition était plus rapide et ne laissait pas finir l’enregistrement de mon image.
C’est le print du if qui me pose problème.
Ce print là ne s’affiche pas : print("\r\nImage Captured! \r\n")

class photo():
    def _init_cam(x,y):
        camera = PiCamera()
        camera.resolution = (x,y)
        camera.start_preview()
        sleep(2)
        print("camera init")
        return camera 
    
    def capture_photo(file_capture, text):
        # Add date as timestamp on the generated files.
        camera.annotate_text = text
        # Capture an image as the thumbnail.
        camera.capture(file_capture)
        print("\r\nImage Captured! \r\n")
        
        
    def capture_image(self):
        # Get the current date as the timestamp to generate unique file names.
        date = datetime.datetime.now().strftime('%m-%d-%Y_%H.%M.%S')
        capture_img = ('/home/pi/Pictures/' + date + '.jpg')
        photo.capture_photo(capture_img, date)

try:
    compar = 0
    GPIO.add_event_detect(23,GPIO.FALLING,callback = photo.capture_image, bouncetime = 300)
    #initialisation de la caméra
    camera = photo._init_cam(3280,2464)
    while wrk:
        Dossier_photo = os.listdir('/home/pi/Pictures/')
        Dossier_photo_BW = os.listdir('/home/pi/Pictures_BW')
        if len(Dossier_photo_BW)<len(Dossier_photo) :  
            print('/home/pi/Pictures/'+Dossier_photo[compar])
            compar = compar+1
finally:

J’aimerai savoir s’il est possible d’attendre que l’interruption se termine avoir de reprendre le main.
Merci d’avance.