aboutsummaryrefslogtreecommitdiffstats
path: root/bot/exts/backend
diff options
context:
space:
mode:
Diffstat (limited to 'bot/exts/backend')
-rw-r--r--bot/exts/backend/branding/_repository.py12
-rw-r--r--bot/exts/backend/error_handler.py4
-rw-r--r--bot/exts/backend/sync/_syncers.py6
3 files changed, 16 insertions, 6 deletions
diff --git a/bot/exts/backend/branding/_repository.py b/bot/exts/backend/branding/_repository.py
index db2061faa..20cad0a5d 100644
--- a/bot/exts/backend/branding/_repository.py
+++ b/bot/exts/backend/branding/_repository.py
@@ -230,7 +230,17 @@ class BrandingRepository:
for event in available_events:
meta = event.meta
- if not meta.is_fallback and (meta.start_date <= lookup_now <= meta.end_date):
+ if meta.is_fallback:
+ continue
+
+ start_date, end_date = meta.start_date, meta.end_date
+
+ # Case where the event starts and ends in the same year.
+ if start_date <= lookup_now <= end_date:
+ return event, available_events
+
+ # Case where the event spans across two years.
+ if start_date > end_date and (lookup_now >= start_date or lookup_now <= end_date):
return event, available_events
log.trace("No active event found. Looking for fallback event.")
diff --git a/bot/exts/backend/error_handler.py b/bot/exts/backend/error_handler.py
index 5cf07613d..352be313d 100644
--- a/bot/exts/backend/error_handler.py
+++ b/bot/exts/backend/error_handler.py
@@ -7,7 +7,7 @@ from discord.ext.commands import ChannelNotFound, Cog, Context, TextChannelConve
from pydis_core.site_api import ResponseCodeError
from pydis_core.utils.error_handling import handle_forbidden_from_block
from pydis_core.utils.interactions import DeleteMessageButton, ViewWithUserAndRoleCheck
-from sentry_sdk import push_scope
+from sentry_sdk import new_scope
from bot.bot import Bot
from bot.constants import Colours, Icons, MODERATION_ROLES
@@ -400,7 +400,7 @@ class ErrorHandler(Cog):
ctx.bot.stats.incr("errors.unexpected")
- with push_scope() as scope:
+ with new_scope() as scope:
scope.user = {
"id": ctx.author.id,
"username": str(ctx.author)
diff --git a/bot/exts/backend/sync/_syncers.py b/bot/exts/backend/sync/_syncers.py
index e1ed6dff4..88f34e9a8 100644
--- a/bot/exts/backend/sync/_syncers.py
+++ b/bot/exts/backend/sync/_syncers.py
@@ -1,11 +1,11 @@
import abc
import typing as t
from collections import namedtuple
+from itertools import batched
import discord.errors
from discord import Guild
from discord.ext.commands import Context
-from more_itertools import chunked
from pydis_core.site_api import ResponseCodeError
import bot
@@ -225,10 +225,10 @@ class UserSyncer(Syncer):
# Using asyncio.gather would still consume too many resources on the site.
log.trace("Syncing created users...")
if diff.created:
- for chunk in chunked(diff.created, CHUNK_SIZE):
+ for chunk in batched(diff.created, CHUNK_SIZE):
await bot.instance.api_client.post("bot/users", json=chunk)
log.trace("Syncing updated users...")
if diff.updated:
- for chunk in chunked(diff.updated, CHUNK_SIZE):
+ for chunk in batched(diff.updated, CHUNK_SIZE):
await bot.instance.api_client.patch("bot/users/bulk_patch", json=chunk)