Example #1
0
class UrhobA:
    #region Init
    def __init__(self) -> None:
        self.yt = YouTubeManager()
        self.dbMan = DBManager()
        if self.dbMan.CheckBotStatsWithID() == False:
            self.dbMan.AddBot()
#endregion

#region User Modules

    def CreateUser(self, userID, userName):
        if self.dbMan.CheckUserWithID(userID) == False:
            self.dbMan.AddUser(userID, userName)
            self.dbMan.BotUserCountUpdate()
#endregion

#region File Modules

    def DeleteFile(self, fileFolder):
        self.yt.DeleteFile(fileFolder)
#endregion

#region Counter Update Modules

    def SearchCountUpdateUser(self, userID, userName):
        if self.dbMan.CheckUserWithID(userID) == True:
            self.dbMan.UserSearchCountUpdate(userID)
            self.dbMan.BotSearchCountUpdate()
        else:
            self.CreateUser(userID, userName)

    def VideoDownloadCountUpdateUser(self, userID, userName):
        if self.dbMan.CheckUserWithID(userID) == True:
            self.dbMan.UserVideoDownloadCountUpdate(userID)
            self.dbMan.BotVideoCountUpdate()
        else:
            self.CreateUser(userID, userName)

    def AudioDownloadCountUpdateUser(self, userID, userName):
        if self.dbMan.CheckUserWithID(userID) == True:
            self.dbMan.UserAudioDownloadCountUpdate(userID)
            self.dbMan.BotAudioCountUpdate()
        else:
            self.CreateUser(userID, userName)
#endregion

#region Search Modules

    def SearchVideo(self, searchQuery):
        result = self.yt.SearchVideo(searchQuery)
        return result
#endregion

#region Download Modules

    def DownloadVideo(self, video_id):
        result = self.yt.DownloadVideo(video_id)
        if result == False:
            return False
        else:
            if self.dbMan.CheckVideoWithVideoID(video_id):
                self.dbMan.VideoDownloadCountUpdate(video_id)
            else:
                self.dbMan.AddVideo(result[0], result[1], result[2])
        return result[2]

    def DownloadAudio(self, video_id):
        result = self.yt.DownloadAudio(video_id)
        if result == False:
            return False
        else:
            if self.dbMan.CheckAudioWithAudioID(video_id):
                self.dbMan.AudioDownloadCountUpdate(video_id)
            else:
                self.dbMan.AddAudio(result[0], result[1], result[2])
        return result[2]
#endregion

#region Get Stats Modules

    def GetBotDatas(self, botID=1):
        if self.dbMan.CheckBotStatsWithID() == True:
            datas = self.dbMan.BotDataGet()
        return datas