mirror of https://github.com/stijndcl/didier
commit
b910018ddc
|
@ -2,7 +2,7 @@ from decorators import help
|
||||||
from discord.ext import commands
|
from discord.ext import commands
|
||||||
from enums.help_categories import Category
|
from enums.help_categories import Category
|
||||||
from functions import checks, config
|
from functions import checks, config
|
||||||
from functions.football import getMatches, getTable
|
from functions.football import getMatches, getTable, get_jpl_code
|
||||||
|
|
||||||
|
|
||||||
class Football(commands.Cog):
|
class Football(commands.Cog):
|
||||||
|
@ -36,6 +36,13 @@ class Football(commands.Cog):
|
||||||
async def table(self, ctx, *args):
|
async def table(self, ctx, *args):
|
||||||
await ctx.send(getTable())
|
await ctx.send(getTable())
|
||||||
|
|
||||||
|
@commands.check(checks.isMe)
|
||||||
|
@jpl.command(name="Update")
|
||||||
|
async def update(self, ctx):
|
||||||
|
code = get_jpl_code()
|
||||||
|
config.config("jpl", code)
|
||||||
|
await ctx.message.add_reaction("✅")
|
||||||
|
|
||||||
|
|
||||||
def setup(client):
|
def setup(client):
|
||||||
client.add_cog(Football(client))
|
client.add_cog(Football(client))
|
||||||
|
|
|
@ -56,6 +56,7 @@
|
||||||
"jpl": "Informatie over de Jupiler Pro League.",
|
"jpl": "Informatie over de Jupiler Pro League.",
|
||||||
"jpl matches": "Bekijk de wedstrijden die gespeeld worden op [Week]. Default naar de huidige speeldag.",
|
"jpl matches": "Bekijk de wedstrijden die gespeeld worden op [Week]. Default naar de huidige speeldag.",
|
||||||
"jpl table": "De huidige stand van het klassement.",
|
"jpl table": "De huidige stand van het klassement.",
|
||||||
|
"jpl update": "Haalt de nieuwe code voor de competitie van dit jaar op.",
|
||||||
"leaderboard": "Bekijk de Top 10 van [Categorie].\nIndien je geen categorie opgeeft krijg je een lijst van categorieën.",
|
"leaderboard": "Bekijk de Top 10 van [Categorie].\nIndien je geen categorie opgeeft krijg je een lijst van categorieën.",
|
||||||
"les": "Bekijk het lessenrooster voor [Dag] in het [Jaargang]-de jaar.\nIndien je geen dag opgeeft, is dit standaard vandaag. De jaargang is standaard 2.\nLes Morgen/Overmorgen werkt ook.",
|
"les": "Bekijk het lessenrooster voor [Dag] in het [Jaargang]-de jaar.\nIndien je geen dag opgeeft, is dit standaard vandaag. De jaargang is standaard 2.\nLes Morgen/Overmorgen werkt ook.",
|
||||||
"lmgtfy": "Stuur iemand een LMGTFY link wanneer ze je een domme vraag stellen in plaats van het zelf op te zoeken.\nQueries met spaties moeten **niet** tussen aanhalingstekens staan.",
|
"lmgtfy": "Stuur iemand een LMGTFY link wanneer ze je een domme vraag stellen in plaats van het zelf op te zoeken.\nQueries met spaties moeten **niet** tussen aanhalingstekens staan.",
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
from enum import Enum
|
|
||||||
from attr import dataclass, field
|
from attr import dataclass, field
|
||||||
|
from datetime import datetime
|
||||||
|
from enum import Enum
|
||||||
from functions.timeFormatters import fromString
|
from functions.timeFormatters import fromString
|
||||||
from functions.scrapers.sporza import getJPLMatches, getJPLTable
|
from functions.scrapers.sporza import getJPLMatches, getJPLTable
|
||||||
from functions.stringFormatters import leadingZero
|
from functions.stringFormatters import leadingZero
|
||||||
from datetime import datetime
|
import re
|
||||||
|
from requests import get
|
||||||
import tabulate
|
import tabulate
|
||||||
|
|
||||||
|
|
||||||
|
@ -162,3 +164,14 @@ def _formatRow(row):
|
||||||
scoresArray.insert(1, row.find_all("a")[0].renderContents().decode("utf-8").split("<!--")[0])
|
scoresArray.insert(1, row.find_all("a")[0].renderContents().decode("utf-8").split("<!--")[0])
|
||||||
|
|
||||||
return scoresArray
|
return scoresArray
|
||||||
|
|
||||||
|
|
||||||
|
def get_jpl_code() -> int:
|
||||||
|
editions = get("https://api.sporza.be/web/soccer/competitions/48").json()["editions"]
|
||||||
|
newest_edition = editions[0]["_links"]["self"]["href"]
|
||||||
|
phase = get(newest_edition).json()["phases"][0]
|
||||||
|
phase_url = phase["_links"]["self"]["href"]
|
||||||
|
r = re.compile(r"\d+$")
|
||||||
|
match = re.search(r, phase_url)
|
||||||
|
|
||||||
|
return int(match[0])
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
from bs4 import BeautifulSoup
|
from bs4 import BeautifulSoup
|
||||||
|
from functions import config
|
||||||
import re
|
import re
|
||||||
from requests import get
|
from requests import get
|
||||||
|
|
||||||
|
@ -38,7 +39,8 @@ def getJPLMatches(week: int):
|
||||||
"""
|
"""
|
||||||
JPL matches for a given matchweek
|
JPL matches for a given matchweek
|
||||||
"""
|
"""
|
||||||
current_day = get("https://api.sporza.be/web/soccer/matchdays/161733/{}".format(week))
|
jpl = config.get("jpl")
|
||||||
|
current_day = get(f"https://api.sporza.be/web/soccer/phases/{jpl}/matchdays/{week}")
|
||||||
|
|
||||||
# Something went wrong
|
# Something went wrong
|
||||||
if current_day.status_code != 200:
|
if current_day.status_code != 200:
|
||||||
|
|
Loading…
Reference in New Issue