| author | ymh <ymh.work@gmail.com> |
| Thu, 26 Sep 2013 15:24:41 +0200 | |
| changeset 119 | ece69ca3ac24 |
| parent 114 | 93b45b4f423c |
| child 126 | a345f1a67bf1 |
| permissions | -rw-r--r-- |
|
114
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1 |
# -*- coding: utf-8 -*- |
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2 |
''' |
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3 |
Created on Feb 22, 2013 |
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4 |
|
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5 |
@author: ymh |
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6 |
''' |
| 119 | 7 |
from django.conf import settings |
|
114
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8 |
from django.db import models |
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
9 |
from haystack import signals |
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
10 |
|
| 119 | 11 |
import p4l.models.signals |
12 |
||
|
114
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
13 |
|
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
14 |
class P4lSignalProcessor(signals.BaseSignalProcessor): |
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
15 |
|
| 119 | 16 |
def handle_delete(self, sender, instance, **kwargs): |
17 |
if getattr(settings, "REALTIME_INDEXING", True): |
|
18 |
signals.BaseSignalProcessor.handle_delete(self, sender, instance, **kwargs) |
|
19 |
||
20 |
def handle_save(self, sender, instance, **kwargs): |
|
21 |
if getattr(settings, "REALTIME_INDEXING", True): |
|
22 |
signals.BaseSignalProcessor.handle_save(self, sender, instance, **kwargs) |
|
23 |
||
24 |
def __connect_signals(self, klass): |
|
25 |
p4l.models.signals.record_saved.connect(self.handle_save, sender=klass) |
|
|
114
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
26 |
models.signals.post_delete.connect(self.handle_delete, sender=klass) |
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
27 |
|
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
28 |
def __disconnect_signals(self, klass): |
| 119 | 29 |
p4l.models.signals.record_saved.disconnect(self.handle_save, sender=klass) |
|
114
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
30 |
models.signals.post_delete.disconnect(self.handle_delete, sender=klass) |
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
31 |
|
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
32 |
|
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
33 |
def setup(self): |
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
34 |
#put import here to avoid circular |
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
35 |
from p4l.models.data import Record |
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
36 |
self.__connect_signals(Record) |
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
37 |
|
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
38 |
|
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
39 |
|
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
40 |
def teardown(self): |
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
41 |
|
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
42 |
from p4l.models.data import Record |
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
43 |
self.__disconnect_signals(Record) |
|
93b45b4f423c
add corporate authors and small adjustments
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
44 |