class OrientDBProjectManager(ProjectManager):
    def __init__(self, server_host, server_port):
        self.command = OrientDBServerCommand(server_host, server_port)

    def create(self, project_name):
        return self.command.execute_get_command("/manageprojects/create/{}".format(project_name))

    def delete(self, project_name):
        return self.command.execute_get_command("/manageprojects/delete/{}".format(project_name))

    def list(self):
        return self.command.execute_get_command("/manageprojects/list")
class OrientDBProjectManager(ProjectManager):
    def __init__(self, server_host, server_port):
        self.command = OrientDBServerCommand(server_host, server_port)

    def create(self, project_name):
        return self.command.execute_get_command(
            "/manageprojects/create/{}".format(project_name))

    def delete(self, project_name):
        return self.command.execute_get_command(
            "/manageprojects/delete/{}".format(project_name))

    def list(self):
        return self.command.execute_get_command("/manageprojects/list")
예제 #3
0
class OrientDBShellManager(ShellManager):
    def __init__(self, server_host, server_port):
        self.command = OrientDBServerCommand(server_host, server_port)

    def create(self, project_name):
        response = self.command.execute_get_command("/manageshells/create/{}".format(project_name))
        port = int(response)
        return port

    def list(self, project_name=None, shell_port=None):
        response = self.command.execute_get_command("/manageshells/list")
        if not response:
            return
        for shell in response.split('\n'):
            port, dbName, name, occupied = shell.split('\t')
            port = int(port)
            if (not project_name or name == project_name) and (not shell_port or port == shell_port):
                yield port, dbName, name, ('occupied' if occupied == 'true' else 'free')
예제 #4
0
class OrientDBProjectManager(ProjectManager):
    def __init__(self, server_host, server_port):
        self.command = OrientDBServerCommand(server_host, server_port)

    def create(self, project_name):
        self.command.execute_get_command("/manageprojects/create/{}".format(project_name))

    def delete(self, project_name):
        self.command.execute_get_command("/manageprojects/delete/{}".format(project_name))

    def upload_file(self, project_name, file):
        file_content = file.read()
        content_type = "text/plain;charset=us/ascii"

        name = "/uploadfile/{}/binary".format(project_name)
        body = base64.b64encode(file_content)
        headers = {"Content-type": content_type}

        self.command.execute_post_command(name, body, headers)
class OrientDBShellManager(ShellManager):
    def __init__(self, server_host, server_port):
        self.command = OrientDBServerCommand(server_host, server_port)

    def create(self, project_name, shellname='noname'):
        response = self.command.execute_get_command(
            "/manageshells/create/{}/{}".format(project_name, shellname))
        port = int(response)
        return port

    def list(self, project_name=None, shell_port=None, filter_occupied=False):
        response = self.command.execute_get_command("/manageshells/list")
        if not response:
            return
        for shell in response.split('\n'):
            port, dbName, name, occupied = shell.split('\t')
            port = int(port)
            occupied = True if occupied == 'true' else False
            if (not project_name or dbName == project_name) \
                    and (not shell_port or port == shell_port) \
                    and (not filter_occupied or not occupied):
                yield port, dbName, name, ('occupied' if occupied else 'free')