You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dcs/dcs/tests/user_request_handler.py

58 lines
2.1 KiB

import socket
import threading
import conf.config as config
import dcs.tools.database as database
from loguru import logger
from conf.config import global_var
class Urh(threading.Thread):
def __init__(self, request_map: dict, client_socket: 'socket.socket'):
super().__init__()
self.request_map = request_map
self.client_socket = client_socket
def report_state(self, state):
logger.info(f"[REQUEST] report free")
config.set_state_socket(self.client_socket, state)
response = {
'report_free': 'success marked ' + str(self.request_map['cookie'])
}
global_var.communicator.add_response('report_free', self.client_socket, response)
logger.info(f"[RESPONSE] report free: {response['report_free']}")
def login(self, user, password, st):
logger.info(f"[REQUEST] login")
database.mysql_conn()
response = database.login(user, password, st)
response = {
'login': response
}
global_var.communicator.add_response('cookie', self.client_socket, response)
logger.info(f"[RESPONSE] login: {response['login']}")
def register(self, user, password):
logger.info(f"[REQUEST] register")
database.mysql_conn()
response = database.register(user, password)
response = {
'register': response
}
global_var.communicator.add_response('register', self.client_socket, response)
logger.info(f"[RESPONSE] register: {response['register']}")
def get_task_process(self):
pass
def run(self) -> None:
if self.request_map['action'] == 'report_free':
self.report_state('free')
elif self.request_map['action'] == 'login':
self.login(self.request_map['user'], self.request_map['password'], self.client_socket)
elif self.request_map['action'] == 'register':
self.register(self.request_map['user'], self.request_map['password'])
elif self.request_map['action'] == 'get task process':
pass
else:
self.client_socket.close()