From 575e9ac522fe3d172c109755718ce3b18a9993d3 Mon Sep 17 00:00:00 2001 From: Stefan Koegl Date: Sun, 5 Sep 2010 18:06:26 +0200 Subject: [PATCH] remove SearchEntry objects for deleted podcast/podcast groups --- mygpo/api/models/__init__.py | 6 +++--- mygpo/search/signals.py | 9 +++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/mygpo/api/models/__init__.py b/mygpo/api/models/__init__.py index 0acd89b5..bca16355 100644 --- a/mygpo/api/models/__init__.py +++ b/mygpo/api/models/__init__.py @@ -607,12 +607,12 @@ class URLSanitizingRule(models.Model): return '%s -> %s' % (self.search, self.replace) -from mygpo.search.signals import update_podcast_entry, update_podcast_group_entry +from mygpo.search.signals import update_podcast_entry, update_podcast_group_entry, remove_podcast_entry, remove_podcast_group_entry from django.db.models.signals import post_save, pre_delete post_save.connect(update_podcast_entry, sender=Podcast) -pre_delete.connect(update_podcast_entry, sender=Podcast) +pre_delete.connect(remove_podcast_entry, sender=Podcast) post_save.connect(update_podcast_group_entry, sender=PodcastGroup) -pre_delete.connect(update_podcast_group_entry, sender=PodcastGroup) +pre_delete.connect(remove_podcast_group_entry, sender=PodcastGroup) diff --git a/mygpo/search/signals.py b/mygpo/search/signals.py index a32a5848..69686069 100644 --- a/mygpo/search/signals.py +++ b/mygpo/search/signals.py @@ -2,6 +2,15 @@ from django.db.models.signals import post_save, pre_delete from mygpo.api.models import Podcast, PodcastGroup from mygpo.search.util import podcast_entry, podcast_group_entry + +def remove_podcast_entry(sender, instance=False, **kwargs): + from mygpo.search.models import SearchEntry + SearchEntry.objects.filter(obj_type='podcast', obj_id=instance.id).delete() + +def remove_podcast_group_entry(sender, instance=False, **kwargs): + from mygpo.search.models import SearchEntry + SearchEntry.objects.filter(obj_type='podcast_group', obj_id=instance.id).delete() + def update_podcast_entry(sender, instance=False, **kwargs): from mygpo.search.models import SearchEntry # we don't want podcasts in groups to be indexed separately -- 2.11.4.GIT