forked from p3t2ja9zs/dcs
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.
58 lines
2.1 KiB
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()
|