Skip to content

Commit 5ad79e7

Browse files
committed
database refactor, code cleanup
1 parent 6531616 commit 5ad79e7

13 files changed

Lines changed: 204 additions & 148 deletions

checkers/Kick.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import asyncio
2-
import nodriver as uc
32
import json
4-
import time
53
import utils.NoDriverBrowserCreator as ndb
64
import globals
75
from DefaultConstants import Settings as Settings
@@ -103,7 +101,7 @@ def getApiStreamingVals(kickUserName:str, apiResponse: requests.Response):
103101
thumbUrl = GetThumbnail(tempThumbUrl, baseSettings.kickThumbnail)
104102
if kickUserName.lower() in globals.kickProfilePics:
105103
icon = globals.kickProfilePics[kickUserName.lower()]
106-
if not kickUserName in globals.kickUserIds:
104+
if kickUserName not in globals.kickUserIds:
107105
globals.kickUserIds[kickUserName] = userId
108106
subscribeWebhooks(globals.kickUserIds[kickUserName], "livestream.status.updated")
109107
logger.debug(apiData)
@@ -124,7 +122,7 @@ def getAccessToken():
124122
if response.status_code == 200:
125123
data = response.json()
126124
accessToken = data["access_token"]
127-
expiresIn = data["expires_in"]
125+
#expiresIn = data["expires_in"]
128126
tokenType = data["token_type"]
129127
globals.kickAccessToken = tokenType + " " + accessToken
130128
else:
@@ -193,7 +191,8 @@ def GetWebhookSubs()-> dict:
193191
return respJson
194192

195193
def DeleteAllWebhooks():
196-
if not baseSettings.kickClientId or not baseSettings.kickClientSecret: return
194+
if not baseSettings.kickClientId or not baseSettings.kickClientSecret:
195+
return
197196
subs = GetWebhookSubs()
198197
if subs and 'data' in subs:
199198
subIds = []

checkers/Twitch.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import requests
2-
import json
32
from bs4 import BeautifulSoup
43
import time
54
import logging

decorators/CommandLogger.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from typing import Any
21
import tanjun
32
from datetime import datetime
43
import time

plugins/checks.py

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -71,27 +71,27 @@ async def platformChecker(isOnlineFunc: Callable,platformNotifFunc: Callable, us
7171
isOnline = isOnline if db.getRerunAnnounce() else False
7272
isRerun = True
7373
logger.debug(platformName + " +Offline|-Online: " + str((-1 * secondsSinceStreamStartTime) if isOnline else secondsSinceStreamEndTime))
74-
if isOnline == True:
74+
if isOnline:
7575
db.setRerun(isRerun, platformName)
7676
if secondsSinceStreamEndTime >= baseSettings.WAIT_BETWEEN_MESSAGES and secondsSinceLastMessage >= baseSettings.WAIT_BETWEEN_MESSAGES and streamEndTime >= streamStartTime:
7777
logger.info(f"{platformName}: Sending Notification")
7878
await platformNotifFunc(rest, title, thumbUrl, icon, userName, isRerun)
79-
db.updatePlatformRowCol(platformName,"last_stream_start_time",time.time())
80-
db.updatePlatformAccountRowCol(platformName, userName,"last_stream_start_time",time.time())
79+
db.SetPlatformLastStreamStartTime(platformName,time.time())
80+
db.SetPlatformAccountLastStreamStartTime(platformName, userName,time.time())
8181
globals.rebroadcast[platformName] = 0
8282
elif secondsSinceLastMessage >= baseSettings.ONLINE_MESSAGE_REBROADCAST_TIME or globals.rebroadcast[platformName]:
8383
logger.info(f"{platformName}: Rebroadcast Command or Rebroadcast_TIME Notification sent")
8484
await platformNotifFunc(rest, title, thumbUrl, icon, userName, isRerun)
8585
lastOnlineMessage = time.time()
8686
globals.rebroadcast[platformName] = 0
8787
elif streamEndTime >= streamStartTime:
88-
db.updatePlatformRowCol(platformName,"last_stream_start_time",time.time())
89-
db.updatePlatformAccountRowCol(platformName,userName,"last_stream_start_time",time.time())
90-
elif isOnline == False:
88+
db.SetPlatformLastStreamStartTime(platformName,time.time())
89+
db.SetPlatformAccountLastStreamStartTime(platformName,userName,time.time())
90+
elif not isOnline:
9191
db.setRerun(isRerun, platformName)
9292
if streamEndTime <= streamStartTime:
93-
db.updatePlatformRowCol(platformName,"last_stream_end_time",time.time())
94-
db.updatePlatformAccountRowCol(platformName,userName,"last_stream_end_time",time.time())
93+
db.SetPlatformLastStreamEndTime(platformName,time.time())
94+
db.SetPlatformAccountLastStreamEndTime(platformName,userName,time.time())
9595
globals.rebroadcast[platformName] = 0
9696

9797
@component.with_schedule
@@ -277,7 +277,7 @@ async def presenceGrabber(rest: alluka.Injected[hikari.impl.RESTClientImpl]) ->
277277
async for member in members:
278278
memberCount += 1
279279
presence = member.get_presence()
280-
if presence != None:
280+
if presence is not None:
281281
status = presence.visible_status
282282
statusStr = str(status)
283283
if statusStr in statusCounts:
@@ -359,7 +359,8 @@ async def resetUnreviewedAppeals(rest: alluka.Injected[hikari.impl.RESTClientImp
359359
@component.with_schedule
360360
@tanjun.as_interval(30, max_runs=1)
361361
async def startWebhookServer(rest: alluka.Injected[hikari.impl.RESTClientImpl]) -> None:
362-
if not baseSettings.webhookPort or not baseSettings.webhookHostIp: return
362+
if not baseSettings.webhookPort or not baseSettings.webhookHostIp:
363+
return
363364
Kick.DeleteAllWebhooks() # Kick stops sending webhooks to a server that hasn't responded (down or restart). Deleting and resubbing fixes that
364365
app.state.restClient = rest
365366
await checkKick(rest)
@@ -402,7 +403,7 @@ async def OAuthCallback(code: str = None, state: str = None, error: str = None):
402403
status_code=401,
403404
detail=f"Authorization failed. Error: {error}"
404405
)
405-
if not state or not state in globals.kickOauth:
406+
if not state or state not in globals.kickOauth:
406407
logger.debug("oauth state didn't match")
407408
raise HTTPException(
408409
status_code=403,
@@ -446,7 +447,8 @@ async def OAuthCallback(code: str = None, state: str = None, error: str = None):
446447
return RedirectResponse(url=baseSettings.kickDiscordRedirect)
447448

448449
async def processWebhookData(body, headers):
449-
if 'kick-event-type' not in headers or headers == globals.kickLastWebhookHeaders: return
450+
if 'kick-event-type' not in headers or headers == globals.kickLastWebhookHeaders:
451+
return
450452
globals.kickLastWebhookHeaders = headers
451453
if Kick.verifyWebhook(headers, body):
452454
logger.debug("verified kick webhook")
@@ -486,7 +488,8 @@ async def memberLogger(rest: alluka.Injected[hikari.impl.RESTClientImpl]) -> Non
486488
@component.with_schedule
487489
@tanjun.as_interval(30, max_runs=1)
488490
async def startKickWebsocket(rest: alluka.Injected[hikari.impl.RESTClientImpl]) -> None:
489-
if not baseSettings.kickChatroomId or not baseSettings.kickChannelId: return
491+
if not baseSettings.kickChatroomId or not baseSettings.kickChannelId:
492+
return
490493
lastLaunchTime = time.time()
491494
maxRetries = 3
492495
maxRetryWindow = 30
@@ -505,7 +508,8 @@ async def startKickWebsocket(rest: alluka.Injected[hikari.impl.RESTClientImpl])
505508
@component.with_schedule
506509
@tanjun.as_interval(baseSettings.ROLE_ADD_REMOVE_TIMER)
507510
async def AddKickRoles(rest: alluka.Injected[hikari.impl.RESTClientImpl]) -> None:
508-
if not baseSettings.hasRolePermissions: return
511+
if not baseSettings.hasRolePermissions:
512+
return
509513
db = Database()
510514
subsShortThreshold = baseSettings.kickSubsShortThreshold
511515
subsShortLookBackHours = baseSettings.kickSubsShortLookBackHours
@@ -566,7 +570,8 @@ async def HandleLongSubRoles(rest:hikari.impl.RESTClientImpl, db:Database, longS
566570
@component.with_schedule
567571
@tanjun.as_interval(baseSettings.ROLE_ADD_REMOVE_TIMER)
568572
async def RemoveKickRoles(rest: alluka.Injected[hikari.impl.RESTClientImpl]) -> None:
569-
if not baseSettings.hasRolePermissions:return
573+
if not baseSettings.hasRolePermissions:
574+
return
570575
db = Database()
571576
longDateRolePeriod = baseSettings.kickLongDateRolePeriod
572577
shortTimeRolePeriod = baseSettings.kickShortTimeRolePeriod

plugins/commands.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
from DefaultConstants import Settings as Settings
66
from utils.Database import Database
77
from datetime import datetime
8-
from decorators.Permissions import Permissions
98
from decorators.CommandLogger import CommandLogger
109
from datetime import date
1110
from datetime import timedelta
@@ -117,7 +116,6 @@ async def KickClipAutoComplete(ctx: tanjun.abc.AutocompleteContext, value:str) -
117116
@tanjun.as_slash_command("kick-clip-search", "Search for a kick clip", default_to_ephemeral=True, always_defer=True)
118117
@CommandLogger
119118
async def SearchKickClips(ctx: tanjun.abc.SlashContext, title:str):
120-
db = Database()
121119
if title:
122120
clipUrl = StaticMethods.GetKickClipUrlFromClipId(title)
123121
if clipUrl:
@@ -210,7 +208,7 @@ async def ConnectKickAccount(ctx: miru.ViewContext) -> None:
210208
count +=1
211209
await asyncio.sleep(2)
212210
await ctx.interaction.delete_initial_response()
213-
if not oauthState in globals.kickOauth:
211+
if oauthState not in globals.kickOauth:
214212
await ctx.respond("Success", flags=hikari.MessageFlag.EPHEMERAL)
215213

216214
@CommandLogger

plugins/listeners.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ async def startup_views(event: hikari.StartedEvent) -> None:
2323
@component.with_listener(hikari.MessageDeleteEvent)
2424
async def printDelete(event: hikari.MessageDeleteEvent, rest: alluka.Injected[hikari.impl.RESTClientImpl]):
2525
try:
26-
if event.old_message.author.is_bot: return
26+
if event.old_message.author.is_bot:
27+
return
2728
file = open("deletedMessageLogs.txt", 'a')
2829
date = datetime.fromtimestamp(time.time())
2930
file.write(f"{date} Author: {event.old_message.author.id}-{event.old_message.author.username} - deleted: {event.old_message.content} or {event.old_message.embeds} in {event.channel_id} \n")

utils/DataGrapher.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
from utils.Database import Database
22
import matplotlib.pyplot as plt
33
import os
4-
from datetime import date
54
from DefaultConstants import Settings as Settings
65
from datetime import datetime
76
from datetime import timedelta
8-
import matplotlib.image as mpimg
9-
import numpy as np
10-
import matplotlib.cbook as cbook
117
import requests
128
from matplotlib.gridspec import GridSpec
139

@@ -218,6 +214,6 @@ def GetEmoteStatsImage(prefix, days):
218214
ax_num.axis('off')
219215

220216
plt.tight_layout()
221-
path = f"graphs/emoteStats.png"
217+
path = "graphs/emoteStats.png"
222218
plt.savefig(path)
223219
return path

0 commit comments

Comments
 (0)