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)
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')
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)
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
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
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])))