Пример #1
0
            for b in self.storage.list_bindings():
                for p in sorted(self.storage.get_states(b).keys()):
                    pairs.append((b, p))
        else:
            for local_folder in local_folders:
                pairs.append(self.split_path(local_folder))
        return pairs

    def refresh(self, local_folders=[], async=True):
        bindings = self.get_bindings_for(local_folders)
        if async:
            # TODO queue a command to synchronizer process
            pass
        else:
            # perform synchronization right away
            for b in bindings:
                sync = Synchronizer(self.storage, binding=b)
                sync.update_local_info(updated_other=False)
                sync.update_remote_info(updated_other=True)

    def synchronize(self, local_folders=[], async=True):
        bindings = self.get_bindings_for(local_folders)
        if async:
            # TODO queue a command to synchronizer process
            pass
        else:
            # perform synchronization right away
            for b in bindings:
                sync = Synchronizer(self.storage, binding=b)
                sync.synchronize_all()
Пример #2
0
def main():
    home = os.path.join(os.environ['HOME'], ".nuxeo")
    config = ConfigParser.ConfigParser()
    config.read(os.path.join(home, "config.cfg"))

    server = config.get("global", "server")
    username = config.get("global", "username")
    password = config.get("global", "password")
    interval = config.getint("global", "interval")

    local_root = config.get("bindings", "local")
    remote_root = config.get("bindings", "remote")

    storage = Storage(os.path.join(home, "nuxeo.db"))
    local_client = LocalClient(local_root)
    remote_client = RemoteClient(server, username, password, remote_root)

    synchronizer = Synchronizer(storage, local_client, remote_client)

    synchronizer.update_local_info()
    synchronizer.update_remote_info()
    synchronizer.update_local_info()

    while True:
        synchronizer.synchronize_all()
        time.sleep(interval)
        synchronizer.update_remote_info()
        synchronizer.update_local_info()