Example #1
0
 def check_user(self) -> None:
     validate = UserValidation.UserValidation(
         self.message.chat.id, self.message.from_user.username)
     validate.check_or_create()
     set_handler = DB_handler.Handler()
     if not set_handler.user_is_admin(self.message.chat.id):
         raise UserAccessError('User is not admin')
Example #2
0
 def write_communictaion_record(self):
     try:
         DB_handler.Handler().add_communications_record(
             user_message=self.message.text,
             bot_response=self.text_response,
             chat_id=self.message.chat.id)
     except Exception as e:
         logging.error(e)
Example #3
0
    def __init__(self, message):
        super().__init__(message)
        self.set_handler = DB_handler.Handler()

        if '👍' in self.message.text or \
                '👎' in self.message.text:
            self.set_handler.invert_chosen(self.message.chat.id,
                                           self.message.text[2:])
        super().init_prepare_result(True)
Example #4
0
    def Operate(self, message: str) -> Command_Factory.AbstractHandler:

        if message.text == 'Следующий вопрос':
            if len(db.Handler().get_chosenGroups_by_chatids_id(
                    message.chat.id)) > 0:
                return Command_Factory.NextQuestion(message)
            else:
                return Command_Factory.NotChosenGroups(message)

        elif message.text == 'Показать ответ':
            return Command_Factory.Answer(message)

        elif message.text == 'Меню' or \
                message.text == 'start' or \
                message.text == 'help' or \
                message.text == '/start' or \
                message.text == '/help':
            return Command_Factory.Menu(message)

        elif message.text == 'Перейти к вопросам':
            if len(db.Handler().get_chosenGroups_by_chatids_id(
                    message.chat.id)) > 0:
                return Command_Factory.NextQuestion(message)
            else:
                return Command_Factory.NotChosenGroups(message)

        elif message.text == 'Добавить в избранное' or \
                message.text == 'Удалить из избранного':
            return Command_Factory.InvertChosen(message)

        elif message.text == 'Выбрать темы' or \
                '👍' in message.text or \
                '👎' in message.text:
            return Command_Factory.Themes(message)

        elif message.text == '/adm':
            try:
                return Command_Factory.AdminPanel(message)
            except Command_Factory.UserAccessError:
                return Command_Factory.Nothing(message)

        else:
            return Command_Factory.Nothing(message)
Example #5
0
 def prepare_text(self) -> None:
     self.set_handler = DB_handler.Handler()
     self.selected = []
     for x in self.set_handler.get_chosenGroups_by_chatids_id(
             self.message.chat.id):
         self.selected.append(x.group_id)
     self.qa_set = self.set_handler.get_random_set_by_groups(
         self.selected)[0]
     self.set_handler.upd_chat_lastset(self.message.chat.id, self.qa_set.id)
     set_theme = self.set_handler.get_group_name_by_set_id(self.qa_set)
     self.text_response = f'Раздел: {set_theme} \n{self.qa_set.question}'
Example #6
0
 def __init__(self, message):
     super().__init__(message)
     self.set_handler = DB_handler.Handler()
     last_user_set = self.set_handler.get_user_last_qa_set(
         self.message.chat.id)
     self.set_chosen = None
     if self.set_handler.is_set_chosen(self.message.chat.id, last_user_set):
         self.set_handler.del_ChatidSetIntermediate_by_setId(
             self.message.chat.id, last_user_set)
         self.set_chosen = False
     else:
         self.set_handler.add_to_ChatidSetIntermediate(
             self.message.chat.id, last_user_set)
         self.set_chosen = True
     super().init_prepare_result(True)
Example #7
0
 def __init__(self, chat_id: int, user: types.User):
     logging.getLogger(__name__)
     logging.debug('Called')
     self.id = chat_id
     self.user = user
     self.handler = DB_handler.Handler()
Example #8
0
 def __init__(self):
     logging.getLogger(__name__)
     logging.debug('Initiated')
     self.db_handler = dh.Handler()
Example #9
0
from Core.Controller import DB_handler as dh
import logging

var = dh.Handler()


class SetsHandler:
    def __init__(self):
        logging.getLogger(__name__)
        logging.debug('Initiated')
        self.db_handler = dh.Handler()

    def get_random_set(self, groups):
        logging.debug('Called')
        return self.db_handler.get_random_set_by_groups(groups)
Example #10
0
from Maintenance import XML_Reader
from Core.Controller import DB_handler
import os
from pathlib import Path

var = DB_handler.Handler()
var.create_db_and_tables()

ROOT_DIR = os.path.abspath(os.curdir)
PathToFile = Path(ROOT_DIR)
data = XML_Reader.get(PathToFile / "QASource.xml")

data = sorted(data, key=lambda x: x['group'])

for i in data:
    DB_handler.Handler().add_set(i['group'], i['question'], i['answer'])

DB_handler.Handler().add_group(1, 'ООП, Паттерны, проектирование')
DB_handler.Handler().add_group(2, 'C#')
DB_handler.Handler().add_group(3, 'Базовые вопросы по разработке')
DB_handler.Handler().add_group(4, 'Python')

class user:
    username = None
    first_name = None
    last_name = None

y = user

for x in range(10):
    print(DB_handler.Handler().add_user_acc(107 + x, y.username, y.first_name, y.last_name))
Example #11
0
 def __init__(self, message):
     super().__init__(message)
     self.set_handler = DB_handler.Handler()
Example #12
0
 def __init__(self, message):
     super().__init__(message)
     super().init_prepare_result(True)
     self.set_handler = DB_handler.Handler()