Beispiel #1
0
    def test_insert(self):
        _osu_wr = OsuDbWorker()
        _database = DbConnection('localhost', 'KartonBot', 'root', 'zxc123', 3306)

        _osu_wr.insert(23312321, 'negative', 1)

        _new_data = _database.select_where('osu', {'vk_id': 23312321})
        print(_new_data[0])
        self.assertEqual(_new_data[0][1], 23312321)
        self.assertEqual(_new_data[0][2], 'negative')
        self.assertEqual(_new_data[0][3], 1)
Beispiel #2
0
    def test_insert(self):
        command_worker = CommandDbWorker()
        _database = DbConnection('localhost', 'KartonBot', 'root', 'zxc123', 3306)

        command_worker.insert(23, '12345671', 'mobysafdsasffdsafsdfdsafDickDuck', '1000.1')

        _new_data = _database.select_where('categories', {'name': '12345671'})
        print(_new_data[0])
        self.assertEqual(_new_data[0][1], 23)
        self.assertEqual(_new_data[0][2], '12345671')
        self.assertEqual(_new_data[0][3], 'mobysafdsasffdsafsdfdsafDickDuck')
        self.assertEqual(_new_data[0][4], '1000.1')
Beispiel #3
0
    def test_insert(self):
        _database = DbConnection('localhost', 'KartonBot', 'root', 'zxc123', 3306)

        users_worker = UserDbWorker()
        users_worker.insert(23, 1234567, 'mobyDickDuck', 1000.1)

        _new_data = _database.select_where('users', {'vk_id': 1234567})
        print(_new_data[0])
        self.assertEqual(_new_data[0][1], 23)
        self.assertEqual(_new_data[0][2], 1234567)
        self.assertEqual(_new_data[0][3], 'mobyDickDuck')
        self.assertEqual(_new_data[0][4], 1000.1)
Beispiel #4
0
class OsuDbWorker:
    def __init__(self):
        self.db = DbConnection('localhost', 'KartonBot', 'root', 'zxc123',
                               3306, DbConnVersion.SYNC)
        self.table_name = 'osu'

    def select_all(self) -> Iterable:
        data = self.db.select_all_table(self.table_name,
                                        ['vk_id', 'nickname', 'mode'])
        items = []
        for item in data:
            items.append({
                'vk_id': item[0],
                'nickname': item[1],
                'mode': item[2]
            })

        return items

    def select_one(self, osu_vk_id: int) -> object:
        return self.db.select_where(self.table_name, {'vk_id': osu_vk_id})

    def insert(self, osu_vk_id: int, osu_nickname: str, mode: int = 1):
        return self.db.insert_into(self.table_name, {
            'vk_id': osu_vk_id,
            'nickname': osu_nickname,
            'mode': mode
        })

    def delete(self, osu_vk_id: int) -> bool:
        return self.db.delete_where(self.table_name, {'vk_id': osu_vk_id})

    def update(self, vk_id, nickname: str = None, mode: int = None) -> bool:
        args = locals()
        if any(args.values()) is not None:
            dict_of_updates = {}
            if nickname is not None:
                dict_of_updates.update({'nickname': nickname})
            if mode is not None:
                dict_of_updates.update({'mode': mode})

            return self.db.update_where(self.table_name, {'vk_id': vk_id},
                                        dict_of_updates)
        else:
            logging.warning('taken zero params and cannot be any update..')
            return False
Beispiel #5
0
class UserDbWorker:
    def __init__(self):
        self.table_name = 'users'
        self.db = DbConnection('localhost', 'KartonBot', 'root', 'zxc123',
                               3306, DbConnVersion.SYNC)

    def select_all(self) -> Iterable:
        data = self.db.select_all_table(
            self.table_name,
            ['access_level', 'vk_id', 'association', 'lvl_exp'])
        items = []
        for item in data:
            items.append({
                'access_level': item[0],
                'vk_id': item[1],
                'association': item[2],
                'lvl_exp': item[3]
            })

        return items

    def first_or_default(self, vk_id: int):
        query = self.db.select_where(self.table_name, {'vk_id': vk_id})
        return query[0] if len(query) > 0 else None

    def insert(self,
               access_level: int,
               vk_id: int,
               association: str,
               level_exp=0) -> bool:
        return self.db.insert_into(
            self.table_name, {
                'access_level': access_level,
                'vk_id': vk_id,
                'association': association,
                'lvl_exp': level_exp
            })

    def delete(self, vk_id: int) -> bool:
        return self.db.delete_where(self.table_name, {'vk_id': vk_id})

    def update(self,
               vk_id,
               association: str = None,
               level: int = None,
               exp: float = None) -> bool:

        args = locals()
        if any(args.values()) is not None:
            dict_of_updates = {}
            if association is not None:
                dict_of_updates.update({'association': association})
            if level is not None:
                dict_of_updates.update({'access_level': level})
            if exp is not None:
                dict_of_updates.update({'lvl_exp': exp})
            return self.db.update_where(self.table_name, {'vk_id': vk_id},
                                        dict_of_updates)
        else:
            logging.warning('taken zero params and cannot be any update..')
            return False

    def contains(self, vk_id: int) -> bool:
        return len(self.db.select_where(self.table_name,
                                        {'vk_id': vk_id})) != 0
Beispiel #6
0
 async def handle_(self, event_sender: VkNewMsgChatEvent):
     data = DbConnection('localhost', 'KartonBot', 'root', 'zxc123', 3306, DbConnVersion.SYNC)
     print(self.acting.vk_action.send_message_chat(event_sender.chat_id, "Ваш уровень " +
                                                   str(data.select_where('users',
                                                                         {'vk_id': event_sender.user_id})[0][1])))