Esempio n. 1
0
 def send_repeated_creation(self, pathname, is_dir):
     # Check if it is in Solr
     if not solr.has_doc(pathname):
         file_info = solr.new_doc(pathname, is_dir)
         file_info.save()
         for signaler in self.signalers:
             signaler.raise_event("create", pathname, '', is_dir)
     else:
         file_info = solr.retrieve_doc(pathname)
         file_info.save()
         # Send repeat message via D-Bus
         for signaler in self.signalers:
             signaler.raise_event("repeat", pathname, '', is_dir)
Esempio n. 2
0
 def create_or_send_modifications(self, event_name, event):
     # If not file, check parent folder is in database
     if not event.dir:
         parent = os.path.dirname(event.pathname)
         if parent != '/var/nublic/data':  # Not in top path
             if not solr.has_doc(parent):
                 fake_event = FakeCreationEvent(parent, True)
                 self.process_IN_CLOSE_WRITE(fake_event)
     # Check if it is itself in Solr
     file_info = solr.retrieve_doc(event.pathname)
     if file_info == None:
         # Create new Solr document
         file_info = solr.new_doc(event.pathname, event.dir)
         file_info.save()
         self.raise_signal("create", event)
         # Possibly at to watched list
         if event.dir:
             for signaler in self.signalers:
                 signaler.add_context(event.pathname)
     else:
         # Recreate Solr info
         file_info.save()
         self.raise_signal(event_name, event)