From 09bbae1794d66f62929ccf3bccfdea87e7c901e2 Mon Sep 17 00:00:00 2001 From: Stephane Bonnet <stephane.bonnet@hds.utc.fr> Date: Sun, 28 Apr 2019 18:04:43 +0200 Subject: [PATCH] First implementation ok --- acme-copy-certs/app/file_watcher.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/acme-copy-certs/app/file_watcher.py b/acme-copy-certs/app/file_watcher.py index adf39aef..a8529f89 100644 --- a/acme-copy-certs/app/file_watcher.py +++ b/acme-copy-certs/app/file_watcher.py @@ -8,17 +8,27 @@ class FileWatcher: abs_path, file_name = os.path.split(os.path.abspath(file_path)) self.observed_path = abs_path self.observed_file = file_name + self.handler = handler - super(FileWatcher, self).__init__(patterns=[file_path], - ignore_patterns=[], ignore_directories=True) + self.event_handler = PatternMatchingEventHandler( + patterns=['*/' + file_name], + ignore_patterns=[], + ignore_directories=True) - def on_any_event(self, event): + self.event_handler.on_any_event = self._on_any_event + + self.observer.schedule(self.event_handler, + self.observed_path, + recursive=False) -if __name__ == "__main__": + def _on_any_event(self, event): + self.handler() - acme_file = sys.argv[1] if len(sys.argv) > 1 else 'acme.json' + def start(self): + print('Staring oberving file {0} in directory {1}'.format(self.observed_file, self.observed_path)) + self.observer.start() - u = acme.CertUpdater(acme_file, '.') + def stop(self): + self.observer.stop() + self.observer.join() - u.add('pica01-test.picasoft.net') - print('Updated certs: ', u.update()) -- GitLab