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)
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)