7 logger = logging.getLogger(__name__) |
7 logger = logging.getLogger(__name__) |
8 |
8 |
9 # update / create new index when a new revision is accepted |
9 # update / create new index when a new revision is accepted |
10 # Then update images tags related to this revision |
10 # Then update images tags related to this revision |
11 class RevisionSignalProcessor(signals.BaseSignalProcessor): |
11 class RevisionSignalProcessor(signals.BaseSignalProcessor): |
12 |
|
13 def setup(self): |
|
14 revision_created.connect(self.handle_revision, sender=AnnotationRevision) |
|
15 revision_accepted.connect(self.handle_revision, sender=AnnotationRevision) |
|
16 |
12 |
17 def handle_revision(self, **kwargs): |
13 def setup(self): |
18 revision_instance = kwargs.get("instance", None) |
14 revision_created.connect(self.handle_revision, sender=AnnotationRevision) |
19 if revision_instance and revision_instance.state in [AnnotationRevision.ACCEPTED]: |
15 revision_accepted.connect(self.handle_revision, sender=AnnotationRevision) |
20 annotation = revision_instance.annotation |
|
21 image_annotation = revision_instance.annotation.image |
|
22 self.handle_save(Annotation, annotation) |
|
23 self.handle_save(Image, image_annotation)##useful for tag |
|
24 |
16 |
25 def teardown(self): |
17 def handle_revision(self, **kwargs): |
26 revision_accepted.disconnect(self.handle_accepted_revision, sender=AnnotationRevision) |
18 revision_instance = kwargs.get("instance", None) |
|
19 if revision_instance and revision_instance.state in [AnnotationRevision.ACCEPTED]: |
|
20 annotation = revision_instance.annotation |
|
21 image_annotation = revision_instance.annotation.image |
|
22 self.handle_save(Annotation, annotation) |
|
23 self.handle_save(Image, image_annotation)##useful for tag |
|
24 |
|
25 def teardown(self): |
|
26 revision_accepted.disconnect(self.handle_accepted_revision, sender=AnnotationRevision) |