示例#1
0
    def __init__(self, chat_id, message, teacher_id=None):
        try:
            super().__init__(chat_id, message)
            if self.is_wrong_parameter:
                raise StopExecution

            if teacher_id:
                self.teacher_id = teacher_id
            else:
                command = message.split()[0].split('@')[0]
                if self.show_teacher or (self.group_id != 0 and command != "/setgroup"):
                    reply(self.chat_id, msg=self.responses['wrong_parameter_for_teacher'])
                    self.is_wrong_parameter = True
                    raise StopExecution

                if self.teacher_id == 0:
                    chat = Chat.objects.get(pk=chat_id)
                    self.teacher_id = chat.teacher_id

            # Get teacher timetable
            raw_response = requests.get(TIMETABLE_URL + "teachers/%i/timetable.json" % self.teacher_id)
            if raw_response.status_code == 200:
                response = raw_response.json()
                self.timetable = response['data']
                self.timetable = utils.prettify(self.timetable)
            else:
                if command not in ['/setgroup', '/setteacher']:
                    reply(self.chat_id, msg=self.responses['get_tt_error'])
                    self.is_wrong_parameter = True

        except StopExecution:
            pass
示例#2
0
    def __init__(self, chat_id, message):
        try:
            super().__init__(chat_id, message)
            if self.is_wrong_parameter:
                raise StopExecution

            # Check if group was set (by /setgroup or passed as parameter)
            if self.group_id == 0:
                chat = Chat.objects.get(pk=chat_id)
                self.group_id = chat.group_id

                if self.group_id == 0:
                    reply(self.chat_id, msg=self.responses['empty_group'])
                    self.is_wrong_parameter = True
                    raise StopExecution

            # Get group timetable
            raw_response = requests.get(TIMETABLE_URL + "groups/%i/timetable.json" % self.group_id)
            if raw_response.status_code == 200:
                response = raw_response.json()
                self.timetable = response['data']
                self.timetable = utils.prettify(self.timetable)
            else:
                reply(self.chat_id, msg=self.responses['no_timetable_for_group'])
                self.is_wrong_parameter = True
        except StopExecution:
            pass