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")
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')
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')