|
1117
|
1 |
# -*- coding: utf-8 -*- |
|
|
2 |
''' |
|
|
3 |
Created on Feb 22, 2013 |
|
|
4 |
|
|
|
5 |
@author: ymh |
|
|
6 |
''' |
|
|
7 |
from django.db import models |
|
|
8 |
from haystack import signals |
|
|
9 |
|
|
1275
|
10 |
|
|
1117
|
11 |
class LdtSignalProcessor(signals.BaseSignalProcessor): |
|
|
12 |
|
|
|
13 |
def __connect_signals(self, klass): |
|
|
14 |
models.signals.post_save.connect(self.handle_save, sender=klass) |
|
|
15 |
models.signals.post_delete.connect(self.handle_delete, sender=klass) |
|
|
16 |
|
|
|
17 |
def __disconnect_signals(self, klass): |
|
|
18 |
models.signals.post_save.disconnect(self.handle_save, sender=klass) |
|
|
19 |
models.signals.post_delete.disconnect(self.handle_delete, sender=klass) |
|
|
20 |
|
|
|
21 |
|
|
1191
|
22 |
def setup(self): |
|
|
23 |
#put import here to avoid circular |
|
1275
|
24 |
from ldt.ldt_utils.models import Segment, Content |
|
1191
|
25 |
from ldt.text.models import Annotation |
|
|
26 |
|
|
1117
|
27 |
self.__connect_signals(Segment) |
|
1275
|
28 |
self.__connect_signals(Content) |
|
1117
|
29 |
self.__connect_signals(Annotation) |
|
|
30 |
|
|
|
31 |
|
|
|
32 |
|
|
|
33 |
def teardown(self): |
|
1275
|
34 |
from ldt.ldt_utils.models import Segment, Content |
|
1191
|
35 |
from ldt.text.models import Annotation |
|
|
36 |
|
|
1117
|
37 |
self.__disconnect_signals(Annotation) |
|
1275
|
38 |
self.__connect_signals(Content) |
|
1117
|
39 |
self.__disconnect_signals(Segment) |
|
|
40 |
|