Coverage for baibu/chat/signals.py: 100%

9 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2026-10-06 13:07 +0000

1from django.db import transaction 

2from django.db.models.signals import post_delete 

3from django.dispatch import receiver 

4 

5from baibu.core import storage 

6 

7from .models import AudioClip 

8 

9 

10@receiver(post_delete, sender=AudioClip) 

11def delete_audio_file(sender, instance: AudioClip, **kwargs) -> None: 

12 """Remove the recording once the deletion is committed (also when the 

13 message, conversation or account is deleted).""" 

14 key = instance.storage_key 

15 transaction.on_commit(lambda: storage.delete(key))