From 9739a2264d77c7c76061afd54c084ffc435c8bdc Mon Sep 17 00:00:00 2001 From: Collin Date: Fri, 15 Mar 2024 09:14:14 +0000 Subject: [PATCH] Remove .gitignore --- Python/.gitignore | 4 - Python/build/lib/lonadb_client/__init__.py | 3 + .../build/lib/lonadb_client/lonadb_client.py | 146 ++++++++++++++++++ 3 files changed, 149 insertions(+), 4 deletions(-) delete mode 100644 Python/.gitignore create mode 100644 Python/build/lib/lonadb_client/__init__.py create mode 100644 Python/build/lib/lonadb_client/lonadb_client.py diff --git a/Python/.gitignore b/Python/.gitignore deleted file mode 100644 index 7dbb66e..0000000 --- a/Python/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -venv -dist -build -lonadb_client.egg-info \ No newline at end of file diff --git a/Python/build/lib/lonadb_client/__init__.py b/Python/build/lib/lonadb_client/__init__.py new file mode 100644 index 0000000..a1c868f --- /dev/null +++ b/Python/build/lib/lonadb_client/__init__.py @@ -0,0 +1,3 @@ +from .lonadb_client import LonaDB + +__all__ = ["LonaDB"] diff --git a/Python/build/lib/lonadb_client/lonadb_client.py b/Python/build/lib/lonadb_client/lonadb_client.py new file mode 100644 index 0000000..0ffdae2 --- /dev/null +++ b/Python/build/lib/lonadb_client/lonadb_client.py @@ -0,0 +1,146 @@ +import json +import socket + +class LonaDB: + def __init__(self, host, port, name, password): + self.host = host + self.port = port + self.name = name + self.password = password + + def make_id(self, length): + import random + import string + return ''.join(random.choice(string.ascii_letters + string.digits) for _ in range(length)) + + def send_request(self, action, data): + process_id = self.make_id(5) + request = json.dumps({ + 'action': action, + 'login': { + 'name': self.name, + 'password': self.password + }, + 'process': process_id, + **data + }) + + with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: + s.connect((self.host, self.port)) + s.sendall(request.encode()) + response = s.recv(4096).decode() + return json.loads(response) + + def create_function(self, name, content): + data = { + 'function': { + 'name': name, + 'content': content + } + } + return self.send_request('add_function', data) + + def execute_function(self, name): + data = {'name': name} + return self.send_request('execute_function', data) + + def get_tables(self, user): + data = {'user': user} + return self.send_request('get_tables', data) + + def get_table_data(self, table): + data = {'table': table} + return self.send_request('get_table_data', data) + + def delete_table(self, table): + data = {'table': {'name': table}} + return self.send_request('delete_table', data) + + def create_table(self, table): + data = {'table': {'name': table}} + return self.send_request('create_table', data) + + def set_variable(self, table, name, value): + data = { + 'table': {'name': table}, + 'variable': { + 'name': name, + 'value': value + } + } + return self.send_request('set_variable', data) + + def remove_variable(self, table, name): + data = { + 'table': {'name': table}, + 'variable': {'name': name} + } + return self.send_request('remove_variable', data) + + def get_variable(self, table, name): + data = { + 'table': {'name': table}, + 'variable': {'name': name} + } + return self.send_request('get_variable', data) + + def get_users(self): + data = {} + return self.send_request('get_users', data) + + def create_user(self, name, password): + data = { + 'user': { + 'name': name, + 'password': password + } + } + return self.send_request('create_user', data) + + def delete_user(self, name): + data = {'user': {'name': name}} + return self.send_request('delete_user', data) + + def check_password(self, name, password): + data = { + 'checkPass': { + 'name': name, + 'pass': password + } + } + return self.send_request('check_password', data) + + def check_permission(self, name, permission): + data = { + 'permission': { + 'user': name, + 'name': permission + } + } + return self.send_request('check_permission', data) + + def remove_permission(self, name, permission): + data = { + 'permission': { + 'user': name, + 'name': permission + } + } + return self.send_request('remove_permission', data) + + def get_permissions_raw(self, name): + data = {'user': name} + return self.send_request('get_permissions_raw', data) + + def add_permission(self, name, permission): + data = { + 'permission': { + 'user': name, + 'name': permission + } + } + return self.send_request('add_permission', data) + + def eval(self, func): + data = {'function': func} + return self.send_request('eval', data) \ No newline at end of file