diff options
Diffstat (limited to 'bot/exts/backend')
| -rw-r--r-- | bot/exts/backend/branding/_repository.py | 12 | ||||
| -rw-r--r-- | bot/exts/backend/error_handler.py | 4 | ||||
| -rw-r--r-- | bot/exts/backend/sync/_syncers.py | 6 | 
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)  |