Необходимо переписать базу данных на mysql с tinydb python3

Необходимо переписать на MYSQL скрипт обрабатывающий запрос на TinyDB у меня руки кривые не получается(
Код очень необходим.

from Logic.Player import Players
import json
from tinydb import TinyDB, Query, database

class DataBase:


    def loadAccount(self):
        db = TinyDB('Database/Player/data.db')
        query = Query()
        user_data = db.search(query.token == str(self.player.token))
        if user_data:
            self.player.name = user_data[0]["info"]["name"]
            self.player.low_id = user_data[0]["info"]["lowID"]
            self.player.IsFacebookLinked = user_data[0]["info"]["isFBLinked"]
            self.player.FacebookID = user_data[0]["info"]["facebookID"]
            self.player.club_low_id = user_data[0]["info"]["clubID"]
            self.player.club_role = user_data[0]["info"]["clubRole"]
            self.player.player_experience = user_data[0]["info"]["playerExp"]
            self.player.solo_wins = user_data[0]["info"]["soloWins"]
            self.player.duo_wins = user_data[0]["info"]["duoWins"]
            self.player.ThreeVSThree_wins = user_data[0]["info"]["3vs3Wins"]
            self.player.gems = user_data[0]["info"]["gems"]
            self.player.gold = user_data[0]["info"]["gold"]
            self.player.star_points = user_data[0]["info"]["starpoints"]
            self.player.tickets = user_data[0]["info"]["tickets"]
            self.player.tokensdoubler = user_data[0]["info"]["tokensdoubler"]
            self.player.player_tokens = user_data[0]["info"]["playerTokens"]
            self.player.brawler_id = user_data[0]["info"]["brawlerID"]
            self.player.skin_id = user_data[0]["info"]["skinID"]
            self.player.profile_icon = user_data[0]["info"]["profileIcon"]
            self.player.brawl_boxes = user_data[0]["info"]["brawlBoxes"]
            self.player.big_boxes = user_data[0]["info"]["bigBoxes"]
            self.player.brawlers_skins = user_data[0]["info"]["brawlersSkins"]
            self.player.name_color = user_data[0]["info"]["namecolor"]
            self.player.starpower = user_data[0]["info"]["starpower"]
            self.player.DoNotDistrubMessage = user_data[0]["info"]["DoNotDistrub"]
            self.player.room_id = user_data[0]["info"]["roomID"]
            self.player.brawlers_trophies_in_rank = user_data[0]["info"]["brawlersTrophiesForRank"]
            self.player.brawlers_upgradium = user_data[0]["info"]["brawlersUpgradePoints"]
            self.player.Brawler_level = user_data[0]["info"]["brawlerPowerLevel"]
            self.player.brawlers_trophies = user_data[0]["info"]["brawlersTrophies"]

            if self.player.UnlockType == "Off":
                self.player.BrawlersUnlockedState = user_data[0]["info"]["UnlockedBrawlers"]

            player_total_trophies = 0
            for BrawlerID in self.player.brawlers_trophies.keys():
                player_total_trophies += self.player.brawlers_trophies[BrawlerID]
            self.player.trophies = player_total_trophies
            DataBase.replaceValue(self, 'trophies', self.player.trophies)

            if self.player.trophies < user_data[0]["info"]["highesttrophies"]:
                self.player.highest_trophies = user_data[0]["info"]["highesttrophies"]
            else:
                self.player.highest_trophies = self.player.trophies
                
            DataBase.replaceValue(self, 'highesttrophies', self.player.highest_trophies)

    def createAccount(self):
        Players.CreateNewBrawlersList()
        db = TinyDB('Database/Player/data.db')

        data = {
            "token": str(self.player.token),

            "info":
                {
                    "name": self.player.name,
                    "lowID": self.player.low_id,
                    "clubID": 0,
                    "clubRole": 0,
                    "isFBLinked": 0,
                    "facebookID": self.player.FacebookID,
                    "playerExp": self.player.player_experience,
                    "soloWins": self.player.solo_wins,
                    "duoWins": self.player.duo_wins,
                    "3vs3Wins": self.player.ThreeVSThree_wins,
                    "gems": self.player.gems,
                    "gold": self.player.gold,
                    "starpoints": self.player.star_points,
                    "tokensdoubler": self.player.tokensdoubler,
                    "playerTokens": self.player.player_tokens,
                    "tickets": self.player.tickets,
                    "brawlerID": 0,
                    "skinID": 0,
                    "trophies": self.player.trophies,
                    "highesttrophies": self.player.trophies,
                    "profileIcon": 0,
                    "namecolor": self.player.name_color,
                    "brawlBoxes": self.player.brawl_boxes,
                    "bigBoxes": self.player.big_boxes,
                    "starpower": 76,
                    "DoNotDistrub": 0,
                    "roomID": 0,
                    "brawlersSkins": self.player.brawlers_skins,
                    "brawlersTrophies": self.player.brawlers_trophies,
                    "brawlersTrophiesForRank": self.player.brawlers_trophies_in_rank,
                    "brawlersUpgradePoints": self.player.brawlers_upgradium,
                    "brawlerPowerLevel": self.player.Brawler_level,
                    "UnlockedBrawlers": self.player.BrawlersUnlockedState
                }
        }

        db.insert(data)

    def getAllPlayers(self):
        db = TinyDB('Database/Player/data.db')
        query = Query()
        name_list =[]

        for i in db.all():
            token = i['token']
            name = db.search(query.token == str(token))[0]['info']
            name_list.append(name)

        return name_list

    def getSpecifiedValue(self, value_name):
        db = TinyDB('Database/Player/data.db')
        query = Query()
        name_list =[]

        self.requested_val = db.search(query.token == str(self.player.token))[0]['info'][value_name]


    def replaceValue(self, value_name, new_value):
        db = TinyDB('Database/Player/data.db')
        query = Query()
        data = db.search(query.token == str(self.player.token))
        user_data = data[0]
        user_data["info"][str(value_name)] = new_value
        db.update(user_data, query.token == str(self.player.token))


    # Gameroom
    def createGameroomDB(self):
        db = TinyDB('Database/Gameroom/gameroom.db')
        data = { 
            "room_id": self.player.room_id,
            "info": {
                "roomType": self.roomType,
                "mapID": self.player.map_id,
                "PlayerCount": 1,
                self.player.low_id: {
                    "host": 1,
                    "lowID": self.player.low_id,
                    "name": self.player.name,
                    "Team": self.player.team,
                    "Ready": self.player.isReady,
                    "brawlerID": self.player.brawler_id,
                    "starpower": self.player.starpower,
                    "profileIcon": self.player.profile_icon,
                    "namecolor": self.player.name_color
                }
            }
        }
        db.insert(data)

    def loadGameroom(self):
        db = TinyDB('Database/Gameroom/gameroom.db')
        query = Query()
        gameroom_data = db.search(query.room_id == self.player.room_id)

        self.playersdata = {}
        if gameroom_data:
            self.roomType = gameroom_data[0]["info"]["roomType"]
            self.mapID = gameroom_data[0]["info"]["mapID"]
            self.playerCount = gameroom_data[0]["info"]["PlayerCount"]
            for Players,info in gameroom_data[0]["info"].items():
                if Players != "PlayerCount" and Players != "mapID" and Players != "roomType":
                    self.playersdata[Players] = {}
                    self.playersdata[Players]["IsHost"] = info["host"]
                    self.playersdata[Players]["name"] = info["name"]
                    self.playersdata[Players]["Team"] = info["Team"]
                    self.playersdata[Players]["Ready"] = info["Ready"]
                    self.playersdata[Players]["LowID"] = Players
                    self.playersdata[Players]["profileIcon"] = info["profileIcon"]
                    self.playersdata[Players]["namecolor"] = info["namecolor"]
                    self.playersdata[Players]["brawlerID"] = info["brawlerID"]
                    self.playersdata[Players]["starpower"] = info["starpower"]
        else:
            playerdb = TinyDB('Database/Player/data.db')
            query = Query()
            data = playerdb.search(query.token == str(self.player.token))
            user_data = data[0]
            user_data["info"]["roomID"] = 0
            self.player.room_id = 0
            playerdb.update(user_data, query.token == str(self.player.token))

    def replaceGameroomValue(self, value_name, new_value, type):
        db = TinyDB('Database/Gameroom/gameroom.db')
        query = Query()
        valueToRemove = Query()
        data = db.search(query.room_id == self.player.room_id)
        gameroom_data = data[0]

        if type == "room":
            gameroom_data["info"][str(value_name)] = new_value
            db.update(gameroom_data, query.room_id == self.player.room_id)
        elif type == "player":
            gameroom_data["info"][str(value_name)] = new_value
            db.update(gameroom_data, query.room_id == self.player.room_id)
        elif type == "removePlayer":
            if gameroom_data["info"][str(new_value)]["host"] == 1:
                db.remove(query.room_id == self.player.room_id)
            else:
                db.remove(query.room_id.any(valueToRemove == str(new_value)))
        else:
            db.remove(query.room_id == self.player.room_id)
    
    def UpdateGameroomPlayerInfo(self, low_id):
        db = TinyDB('Database/Gameroom/gameroom.db')
        query = Query()
        player = Query()
        data = db.search(query.room_id == self.player.room_id)
        gameroom_data = data[0]

        gameroom_data["info"][str(low_id)]["Team"] = self.player.team
        gameroom_data["info"][str(low_id)]["Ready"] = self.player.isReady
        gameroom_data["info"][str(low_id)]["brawlerID"] = self.player.brawler_id
        gameroom_data["info"][str(low_id)]["starpower"] = self.player.starpower
        gameroom_data["info"][str(low_id)]["profileIcon"] = self.player.profile_icon
        gameroom_data["info"][str(low_id)]["namecolor"] = self.player.name_color

        db.update(gameroom_data, query.room_id == self.player.room_id)


    def createClub(self, clubid):
        clubdb = TinyDB('Database/Club/club.db')
        chatdb = TinyDB('Database/Club/chat.db')

        data = {
            "clubID": clubid,
            "info": {
                "clubID": clubid,
                "name": self.clubName,                          
                "description": self.clubdescription,
                "region": "RU",
                "badgeID": self.clubbadgeID,
                "type": self.clubtype,
                "trophiesneeded": self.clubtrophiesneeded,
                "friendlyfamily": self.clubfriendlyfamily,
                "trophies": self.player.trophies,
                "members": {
                    "totalmembers": 1,
                    str(self.player.low_id): self.player.name
                }
            }
        }
        clubdb.insert(data)
        msgData = {
            "clubID": clubid,
            "info": {
                "Total": 1,
                "1": {
                    "Event": 2,
                    "Tick": 1,
                    "PlayerID": self.player.low_id,
                    "PlayerName": self.player.name,
                    "PlayerRole": 2,
                    "Message": "[FOOTBALL_TEAM] ALPHA!"
                }
            }
        }
        chatdb.insert(msgData)

    def CountClub(self, minMembers, maxMembers, clubType, maxListLength):
        db = TinyDB('Database/Club/club.db')
        query = Query()
        self.club_list = []
        self.club_data = []

        self.AllianceCount = 0
        for club in db.all():
            if self.AllianceCount != maxListLength:
                club_id = club['clubID']
                clubInfo = db.search(query.clubID == club_id)[0]['info']
                if clubInfo['members']['totalmembers'] >= minMembers and clubInfo['members']['totalmembers'] < maxMembers and clubInfo['type'] <= clubType:
                    self.club_list.append(club_id)
                    self.club_data.append(clubInfo)
                    self.AllianceCount += 1
            else:
                break
    
    def loadClub(self, clubid):
        db = TinyDB('Database/Club/club.db')
        query = Query()
        data = db.search(query.clubID == clubid)
        club_data = data[0]
        self.plrids = []
        self.clubName = club_data["info"]["name"]
        self.clubdescription = club_data["info"]["description"]
        self.clubregion = club_data["info"]["region"]
        self.clubbadgeID = club_data["info"]["badgeID"]
        self.clubtype = club_data["info"]["type"]
        self.clubtrophiesneeded = club_data["info"]["trophiesneeded"]
        self.clubfriendlyfamily = club_data["info"]["friendlyfamily"]
        self.clubtrophies = club_data["info"]["trophies"]
        self.clubmembercount = club_data["info"]["members"]["totalmembers"]
        for plridentifier, data in club_data["info"]["members"].items():
            if plridentifier != "totalmembers":
                self.plrids.append(int(plridentifier))

    def AddMember(self, AllianceID, PlayerID, PlayerName, Action):
        db = TinyDB('Database/Club/club.db')
        chatdb = TinyDB('Database/Club/chat.db')
        query = Query()
        data = db.search(query.clubID == self.player.club_low_id)
        data = data[0]

        if Action == 0:
            db.remove(query.clubID == self.player.club_low_id)

            chatdb.remove(query.clubID == self.player.club_low_id)

        elif Action == 1:
            data['info']['members']['totalmembers'] += 1
            data['info']['members'][str(PlayerID)] = PlayerName

            db.update(data, query.clubID == self.player.club_low_id)

        elif Action == 2:
            try:
                data['info']['members']['totalmembers'] -= 1
                data['info']['members'].pop(str(PlayerID))

                db.update(data, query.clubID == self.player.club_low_id)
            except:
                pass

    def GetMemberData(self, Low_id):
        db = TinyDB('Database/Player/data.db')
        query = Query()
        try:
            self.players = DataBase.getAllPlayers(self)
            print(self.players[0])
            for i in range(len(self.players)):
                if self.players[i]['lowID'] == int(Low_id):
                    print(self.players[i])
                    self.lowplrid = self.players[i]['lowID']
                    self.plrrole = self.players[i]["clubRole"]
                    self.plrtrophies = self.players[i]["trophies"]
                    self.plrname = self.players[i]["name"]
                    self.plricon = self.players[i]["profileIcon"]
                    self.plrnamecolor = self.players[i]["namecolor"]
                    break


        except Exception as e:
            print(e)
            self.lowplrid = 1
            self.plrrole = 2
            self.plrtrophies = 0
            self.plrname = "Bot"
            self.plricon = 1
            self.plrnamecolor = 2

    def replaceClubValue(self, target, inf1, inf2, inf3, inf4, inf5):
        db = TinyDB('Database/Club/club.db')
        query = Query()
        data = db.search(query.clubID == self.player.club_low_id)
        club_data = data[0]

        club_data["info"]['description'] = inf1
        club_data["info"]['badgeID'] = inf2
        club_data["info"]['type'] = inf3
        club_data["info"]['trophiesneeded'] = inf4
        club_data["info"]['friendlyfamily'] = inf5

        db.update(club_data, query.clubID == self.player.club_low_id)

    def GetmsgCount(self, clubID):
        db = TinyDB('Database/Club/chat.db')
        query = Query()
        data = db.search(query.clubID == self.player.club_low_id)
        data = data[0]
        self.MessageCount = data['info']['Total']

    def Addmsg(self, clubID, event, tick, Low_id, name, role, msg):
        db = TinyDB('Database/Club/chat.db')
        query = Query()
        data = db.search(query.clubID == self.player.club_low_id)
        data = data[0]
        index = 0
        for i in range(1, data['info']['Total'] + 1):
            index += 1
            if index == data['info']['Total']:
                data['info'][str(i + 1)] = {"Event": event, "Tick":  data['info'][str(i)]['Tick'] + 1, "PlayerID": Low_id, "PlayerName": name, "PlayerRole": role, "Message": msg}
                data['info']['Total'] = i + 1
                self.player.message_tick = data['info'][str(i + 1)]['Tick']
                db.update(data, query.clubID == self.player.club_low_id)

Ответы (0 шт):