Skip to content

Commit a67e516

Browse files
committed
CHANGES:
- /trueskill history can do periods now
1 parent 7b74930 commit a67e516

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

plugins/competitive/commands.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
from trueskill import Rating, BETA, global_env
1414

1515
from .listener import CompetitiveListener
16+
from ..userstats.filter import MissionStatisticsFilter, PeriodTransformer, StatisticsFilter
1617

1718
_ = get_translation(__name__.split('.')[1])
1819

@@ -215,7 +216,11 @@ async def rating(self, interaction: discord.Interaction,
215216
@utils.app_has_role('DCS')
216217
@app_commands.guild_only()
217218
async def history(self, interaction: discord.Interaction,
218-
user: app_commands.Transform[discord.Member | str, utils.UserTransformer] | None = None):
219+
user: app_commands.Transform[discord.Member | str, utils.UserTransformer] | None = None,
220+
period: app_commands.Transform[
221+
StatisticsFilter,
222+
PeriodTransformer(flt=[MissionStatisticsFilter])
223+
] | None = MissionStatisticsFilter()):
219224
if not user:
220225
user = interaction.user
221226

@@ -239,7 +244,7 @@ async def history(self, interaction: discord.Interaction,
239244
# noinspection PyUnresolvedReferences
240245
await interaction.response.defer(ephemeral=ephemeral)
241246
report = Report(self.bot, self.plugin_name, 'trueskill_hist.json')
242-
env = await report.render(ucid=ucid, name=name)
247+
env = await report.render(ucid=ucid, name=name, flt=period)
243248
try:
244249
file = discord.File(fp=env.buffer, filename=env.filename)
245250
await interaction.followup.send(embed=env.embed, file=file, ephemeral=ephemeral)

plugins/competitive/reports.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,9 @@ async def render(self, match: dict):
8989

9090
class History(report.GraphElement):
9191

92-
async def render(self, ucid: str, name: str):
93-
query = """
92+
async def render(self, ucid: str, name: str, flt: StatisticsFilter):
93+
self.env.embed.title = flt.format(self.bot) + ' ' + self.env.embed.title
94+
query = f"""
9495
SELECT time, skill_mu, skill_sigma FROM (
9596
SELECT time, skill_mu, skill_sigma
9697
FROM trueskill
@@ -100,7 +101,8 @@ async def render(self, ucid: str, name: str):
100101
FROM trueskill_hist
101102
WHERE player_ucid = %(ucid)s
102103
) x
103-
ORDER BY x.time DESC
104+
WHERE {flt.filter(self.bot)}
105+
ORDER BY time DESC
104106
"""
105107
async with self.apool.connection() as conn:
106108
async with conn.cursor(row_factory=dict_row) as cursor:
@@ -114,7 +116,6 @@ async def render(self, ucid: str, name: str):
114116
transform=self.axes.transAxes)
115117
return
116118

117-
# ---------- 3️⃣ Plot ----------
118119
sns.set_theme(style="whitegrid")
119120

120121
# μ line

0 commit comments

Comments
 (0)