src/iconolab/search_indexes/signals.py
changeset 513 2d9c92c0d03a
parent 124 e5267573edd8
equal deleted inserted replaced
512:4e81c1418026 513:2d9c92c0d03a
     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)