def send_select_course(self, courseName): message = (config.config.MESSAGE_FORM.format(self.userNumber, config.config.HEADER_SELECT_COURSE, courseName)).encode('utf-8') try: clientsock.sendall(message) recvMessage = (clientsock.recv(BUFFER_SIZE)).decode() except Exception as e: warningPopup.warningPopup('종료하시겠습니까?', self.ui, self.sock) return 0 if recvMessage == '0': warningPopup.warningPopup('종료하시겠습니까?', self.ui, self.sock) banProgram = [] allowWeb = [] message = recvMessage.split(',') if len(message[0]) is not 0: tempbanProgram = message[0].split('*') for i in tempbanProgram: banProgram.append(int(i)) if len(message[1]) is not 0: tempallowWeb = message[1].split('*') for i in tempallowWeb: allowWeb.append(int(i)) return banProgram, allowWeb, message[2]
def register_slot(self): if len(self.ui.lineEdit.text()) <4: warningPopup.warningPopup('과목 이름은 4자 이상으로 해주세요.') return if self.ui.timeEdit.time() >= self.ui.timeEdit_2.time(): warningPopup.warningPopup('시험 시간을 다시 확인하세요.') return self.banList.sort() self.allowList.sort() date = str(datetime.date(self.ui.dateEdit.date().year(), self.ui.dateEdit.date().month(), self.ui.dateEdit.date().day())) startTime = str(datetime.time(self.timeEdit.time().hour(), self.timeEdit.time().minute())) endTime = str(datetime.time(self.timeEdit_2.time().hour(), self.timeEdit_2.time().minute())) courseDate = '{} {},{} {}'.format(date, startTime, date, endTime) result = self.sock.make_course(self.ui.lineEdit.text(), courseDate, self.banList, self.allowList, self.students) if result is 1: try: self.rejectSignal.emit(self.makeMessage(courseDate)) self.ui.reject() except Exception as e: print(e) elif result is 0: warningPopup.warningPopup('같은 이름의 시험이 존재합니다. 다른 이름을 사용하세요..') elif result is -1: self.students = [] self.rejectSignal.emit(self.makeMessage(courseDate)) self.ui.reject() warningPopup.warningPopup('학생 등록에 실패했습니다. csv파일 양식 확인 후 다시 시도하세요.')
def send_login_message(self, userID = '', password = ''): loginInfo = '{},{}'.format(userID, password) message = (config.config.MESSAGE_FORM.format(0, config.config.HEADER_SIGNIN, loginInfo)).encode('utf-8') q = message.decode().split(',') try: clientsock.send(message) recvMessage = (clientsock.recv(BUFFER_SIZE)).decode() except Exception as e: warningPopup.warningPopup('접속 문제입니다. 다시 시도하세요.') return 0 if recvMessage == '0': warningPopup.warningPopup('잘못된 아이디 또는 비밀번호를 입력하셨습니다.') return 0 elif recvMessage == '-1': warningPopup.warningPopup('볼수 있는 시험이 없습니다.') return 0 recvMessage = recvMessage.split('^') self.userNumber = recvMessage[0] if len(password) is 0: courseList = recvMessage[1].split(',') return courseList else: courseInfo = recvMessage[1:] return courseInfo
def closeEvent(self, event = None): from DCheat.src import warningPopup if event is not None: event.ignore() connecMessage = self.check_other_process() try: result = warningPopup.warningPopup('종료하시겠습니까?', self.ui, self.sock, connecMessage) except Exception as e: print(e)
def update_slot(self): if self.ui.timeEdit.time() >= self.ui.timeEdit_2.time(): warningPopup.warningPopup('시험 시간을 다시 확인하세요.') return self.banList.sort() self.allowList.sort() date = str(datetime.date(self.ui.dateEdit.date().year(), self.ui.dateEdit.date().month(), self.ui.dateEdit.date().day())) startTime = str(datetime.time(self.timeEdit.time().hour(), self.timeEdit.time().minute())) endTime = str(datetime.time(self.timeEdit_2.time().hour(), self.timeEdit_2.time().minute())) courseDate = '{} {},{} {}'.format(date, startTime, date, endTime) result = self.sock.update_course(self.name, courseDate, self.banList, self.allowList, self.students) if result == -1: result = warningPopup.warningPopup('수정에 실패했습니다. csv파일 등을 확인해보세요.') else: self.rejectSignal.emit(self.makeMessage(courseDate, result)) self.ui.reject()
def closeEvent(self, event): from DCheat.src import warningPopup event.ignore() result = warningPopup.warningPopup('종료하시겠습니까?', self.ui, self.sock)
def closeEvent(self, event): from DCheat.src import warningPopup event.ignore() result = warningPopup.warningPopup('종료하시겠습니까?\n 종료하시면 현재 입력한 데이터는 모두 사라집니다.', self.ui)
import sys import socket from DCheat import config from DCheat.src import warningPopup global clientsock try: clientsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) clientsock.connect((config.config.HOST, config.config.PORT)) except Exception as e: print(e) warningPopup.warningPopup('네트워크 장애가 발생했습니다. 다시 실행하세요.') sys.exit(0)