Example #1
0
class Watcher(object):
    def __init__(self, path=None, uid=None, server=None):
        super(Watcher, self).__init__()
        self.path = path
        self.uid = uid
        self.server = server
        self.f = File(uid=uid, server=server)

    def watch(self):
        def create(path, stat_info):
            remote_path = path[len(self.path) - 1:]
            if os.path.isdir(path):
                self.f.createdir(remote_path)
            else:
                with open(path, 'r') as fp:
                    self.f.createfile(remote_path, fp.read())

        event_handler = PrerepoEventHandler(f=self.f, path=self.path)
        observer = Observer()
        observer.schedule(event_handler, path=self.path, recursive=True)
        observer.start()
        DirectorySnapshot(self.path, recursive=True, walker_callback=create)
        try:
            while True:
                time.sleep(1)
        except KeyboardInterrupt:
            observer.stop()
        observer.join()
Example #2
0
 def __init__(self, path=None, uid=None, server=None):
     super(Watcher, self).__init__()
     self.path = path
     self.uid = uid
     self.server = server
     self.f = File(uid=uid, server=server)