Пример #1
0
    def add_cli(self, username: str, port: str, tree_sent: str, transport):

        tree_database = database.find_user(username, 'pass')

        if tree_database is None:
            logger.info('user {} does not exists'.format(username))
            return None

        ts = tree.Tree(tree_sent)
        td = tree.Tree(tree_database)

        cli = Client(username, port, ts, transport)

        if username not in self.clients:
            self.clients[username] = [cli]
        else:
            self.clients[username].append(cli)
            logger.debug("new instance of client {}".format(username))
        self.transports[transport] = cli

        tree.Tree.process_subtree(cli, ts.raw_tree, td.raw_tree)

        # TODO: think about client conflicts + database sync between instances
        logger.debug('tree has been processed for {}'.format(username))

        database.save_new_tree(username, ts.raw_tree)

        return cli
Пример #2
0
    def add_cli(self, username: str, port: str, tree_sent: str, transport):

        tree_database = database.find_user(username, 'pass')

        if tree_database is None:
            logger.info('user {} does not exists'.format(username))
            return None

        ts = tree.Tree(tree_sent)
        td = tree.Tree(tree_database)

        cli = Client(username, port, ts, transport)

        if username not in self.clients:
            self.clients[username] = [cli]
        else:
            self.clients[username].append(cli)
            logger.debug("new instance of client {}".format(username))
        self.transports[transport] = cli

        tree.Tree.process_subtree(cli, ts.raw_tree, td.raw_tree)

        # TODO: think about client conflicts + database sync between instances
        logger.debug('tree has been processed for {}'.format(username))

        database.save_new_tree(username, ts.raw_tree)

        return cli
Пример #3
0
def FADD(client, args):
    logger.debug('fadd : {}'.format(args))
    tr = json.loads(args.decode())

    directory, filename = client.find_in_tree(tr)

    engine.FADD(directory, 'client', filename, tr, client)

    logger.info('new user tree has been saved for {}'.format(client.username))
    database.save_new_tree(client.username, client.user_tree.raw_tree)
Пример #4
0
def FADD(client, args):
    logger.debug('fadd : {}'.format(args))
    tr = json.loads(args.decode())

    directory, filename = client.find_in_tree(tr)

    engine.FADD(directory, 'client', filename, tr, client)

    logger.info('new user tree has been saved for {}'.format(client.username))
    database.save_new_tree(client.username, client.user_tree.raw_tree)