27 lines
864 B
Python
27 lines
864 B
Python
from common.redis import generalPubSubHandler
|
|
from helpers import osuapiHelper
|
|
from objects import beatmap
|
|
|
|
def updateSet(beatmapSetID):
|
|
apiResponse = osuapiHelper.osuApiRequest("get_beatmaps", "s={}".format(beatmapSetID), False)
|
|
if len(apiResponse) == 0:
|
|
return
|
|
for i in apiResponse:
|
|
beatmap.beatmap(i["file_md5"], int(i["beatmapset_id"]), refresh=True)
|
|
|
|
class handler(generalPubSubHandler.generalPubSubHandler):
|
|
def __init__(self):
|
|
super().__init__()
|
|
self.structure = {}
|
|
self.strict = False
|
|
|
|
def handle(self, data):
|
|
data = super().parseData(data)
|
|
if data is None:
|
|
return
|
|
if "id" in data:
|
|
beatmapData = osuapiHelper.osuApiRequest("get_beatmaps", "b={}".format(data["id"]))
|
|
if beatmapData is not None and "beatmapset_id" in beatmapData:
|
|
updateSet(beatmapData["beatmapset_id"])
|
|
elif "set_id" in data:
|
|
updateSet(data["set_id"]) |