simplify SearchEntry instantiation
[mygpo.git] / mygpo / search / signals.py
blob1aa1089a9a020ca4e54eefada495bd377d6dabed
1 from django.db.models.signals import post_save, pre_delete
2 from mygpo.api.models import Podcast, PodcastGroup
5 def remove_podcast_entry(sender, instance=False, **kwargs):
6 from mygpo.search.models import SearchEntry
7 SearchEntry.objects.filter(obj_type='podcast', obj_id=instance.id).delete()
9 def remove_podcast_group_entry(sender, instance=False, **kwargs):
10 from mygpo.search.models import SearchEntry
11 SearchEntry.objects.filter(obj_type='podcast_group', obj_id=instance.id).delete()
13 def update_podcast_entry(sender, instance=False, **kwargs):
14 from mygpo.search.models import SearchEntry
15 # we don't want podcasts in groups to be indexed separately
16 if instance and not instance.group:
17 SearchEntry.objects.filter(obj_type='podcast', obj_id=instance.id).delete()
18 entry = SearchEntry.from_object(instance)
19 entry.save()
21 def update_podcast_group_entry(sender, instance=False, **kwargs):
22 from mygpo.search.models import SearchEntry
24 for podcast in instance.podcasts():
25 SearchEntry.objects.filter(obj_type='podcast', obj_id=podcast.id).delete()
27 SearchEntry.objects.filter(obj_type='podcast_group', obj_id=instance.id).delete()
28 entry = SearchEntry.from_object(instance)
29 entry.save()