src/ldt/ldt/indexation/signals.py
author ymh <ymh.work@gmail.com>
Thu, 02 Jan 2014 17:09:42 +0100
changeset 1275 38c396f3ced8
parent 1191 b6e0b1811723
child 1276 d4f1dd0eb8bf
permissions -rw-r--r--
Add indexation to content

# -*- coding: utf-8 -*-
'''
Created on Feb 22, 2013

@author: ymh
'''
from django.db import models
from haystack import signals


class LdtSignalProcessor(signals.BaseSignalProcessor):
    
    def __connect_signals(self, klass):
        models.signals.post_save.connect(self.handle_save, sender=klass)
        models.signals.post_delete.connect(self.handle_delete, sender=klass)        

    def __disconnect_signals(self, klass):
        models.signals.post_save.disconnect(self.handle_save, sender=klass)
        models.signals.post_delete.disconnect(self.handle_delete, sender=klass)

    
    def setup(self):
        #put import here to avoid circular 
        from ldt.ldt_utils.models import Segment, Content
        from ldt.text.models import Annotation
        
        self.__connect_signals(Segment)
        self.__connect_signals(Content)
        self.__connect_signals(Annotation)



    def teardown(self):
        from ldt.ldt_utils.models import Segment, Content
        from ldt.text.models import Annotation

        self.__disconnect_signals(Annotation)
        self.__connect_signals(Content)
        self.__disconnect_signals(Segment)