예제 #1
0
    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]
예제 #2
0
    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파일 양식 확인 후 다시 시도하세요.')
예제 #3
0
    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
예제 #4
0
파일: webView.py 프로젝트: DCheat/DCheat
    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)
예제 #5
0
    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()
예제 #6
0
    def closeEvent(self, event):
        from DCheat.src import warningPopup

        event.ignore()
        result = warningPopup.warningPopup('종료하시겠습니까?', self.ui, self.sock)
예제 #7
0
    def closeEvent(self, event):
        from DCheat.src import warningPopup

        event.ignore()
        result = warningPopup.warningPopup('종료하시겠습니까?\n 종료하시면 현재 입력한 데이터는 모두 사라집니다.',
                                           self.ui)
예제 #8
0
파일: __init__.py 프로젝트: DCheat/DCheat
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)