def process_cmd(self, cmd, cmd_info): if "RPL" == cmd: if self.process_state == kProccessState.kNeedFileHash: self.check_upload_existed(cmd_info, self.recv_file_arg) elif self.process_state == kProccessState.kNeedFileInfo: self.send_upload_num(cmd_info, self.recv_file_arg) # 远程控制执行成功,更新状态位 elif RemoteControl.CTL_RPL_OK == cmd or RemoteControl.CTL_RPL_FAILED == cmd: self.update_task_state(cmd, cmd_info) elif "ATH" == cmd: if self.process_state == kProccessState.kNeedRegister: # 注册成功 self.register(cmd_info) else: self.auth(cmd_info) elif "DNF" == cmd: self.send_keywords_file(cmd_info) elif "END" == cmd: self.client_offline() # 记录异常 elif "LOG" == cmd: curt_time = get_curtime() record_warnings(cmd_info, self.__user_no, curt_time) log(cmd_info, self.__user_no, curt_time) self.__response = kOK # 接受用户报警文件 elif "UPD" == cmd: self.recv_file_arg = None self.current_time = get_curtime() self.recv_file(cmd_info) # self.__user_socket.end_connection(self.__user_no) # 接收用户全盘扫描需要上传的文件 elif "UPF" == cmd: self.recv_file_arg = FIRST_UPLOAD self.current_time = get_curtime() self.recv_file(cmd_info) # 接收用户快速扫描需要上传文件 elif "UPS" == cmd: self.recv_file_arg = SECOND_UPLOAD self.current_time = get_curtime() self.recv_file(cmd_info) elif "INF" == cmd: if self.__ctl_status == RemoteControl.CTL_UPLOAD_FIRST: self.__response = get_first_upload_file_info(self.__ctl_args) elif self.__ctl_status == RemoteControl.CTL_UPLOAD_SECOND: self.__response = get_second_upload_file_info(self.__ctl_args) self.process_state = kProccessState.kUploadFile # 询问服务器时间和服务器过期时间 elif "TIM" == cmd: if "CTM" == cmd_info: self.__response = get_curtime() elif "EPT" == cmd_info: self.__response = get_expired_time() # 与客户端保持心跳 elif "HBT" == cmd: self.hbt() return self.process_state
def __init__(self, sock_fd, clnt): super().__init__() self.local_time = get_curtime() self.sock = sock_fd self.hostIP = clnt self.disconnected = False self.user_no = None
def com_change_repair_status(info): repairId = info.split('\n')[0] repairdDate = get_curtime() ret = change_repair_status(repairId, repairdDate) if ret > 0: return True else: return False
def com_add_car_part(info): partName, partNumber, partPrice = info.split('\n') partDate = get_curtime() set_result = add_car_part(partName, partNumber, partPrice, partDate) if set_result > 0: return True else: return False
def com_add_repair_info(info, user_no): repair_carName, repair_carPhone, partDetails, repair_fault, repairDetails, repairMask = info.split( '\n') repairingDate = get_curtime() user_id = get_user_id(user_no)[0][0] set_result = add_repair_info(user_id, repair_carName, repair_carPhone, partDetails, repair_fault, repairDetails, repairMask, repairingDate) if set_result > 0: return True else: return False
def __init__(self, addr): self.__user_no = None self.__response = "" self.__ctl_status = RemoteControl.CTL_NO_TASK self.user_addr = None self.process_state = kProccessState.kAuthing self.__kw_file = None self.recv_file_name = None self.recv_file_type = None self.recv_file_path = None self.recv_file_hash = None self.recv_file_arg = None self.__ctl_args = None self.current_time = get_curtime() self.__is_login = False