from django.db.models.signals import post_delete, post_save
from django.dispatch import receiver

from .models import Resource


@receiver(post_save, sender=Resource, dispatch_uid="resources.sync_periodic_task")
def sync_periodic_task(sender, **kwargs):
    """ useing signals instead of Model.delete() override beucause of admin bulk delete() """
    instance = kwargs['instance']
    instance.sync_periodic_task()


@receiver(post_delete, sender=Resource, dispatch_uid="resources.delete_periodic_task")
def delete_periodic_task(sender, **kwargs):
    """ useing signals instead of Model.delete() override beucause of admin bulk delete() """
    instance = kwargs['instance']
    instance.sync_periodic_task(delete=True)