Fix timestamps being wrong

This commit is contained in:
Zeva Rose 2022-03-26 03:26:20 -06:00
parent cb1d3809c8
commit c623e341f4
7 changed files with 15 additions and 15 deletions

View file

@ -1,6 +1,6 @@
"""JARVIS ban tasks.""" """JARVIS ban tasks."""
import asyncio import asyncio
from datetime import datetime, timedelta from datetime import datetime, timedelta, timezone
from logging import Logger from logging import Logger
from dis_snek import Snake from dis_snek import Snake
@ -41,7 +41,7 @@ async def unban(bot: Snake, logger: Logger) -> None:
logger: Global logger logger: Global logger
""" """
while True: while True:
max_ts = datetime.utcnow() + timedelta(minutes=9) max_ts = datetime.now(tz=timezone.utc) + timedelta(minutes=9)
bans = Ban.find(q(type="temp", active=True, duration__lte=max_ts)) bans = Ban.find(q(type="temp", active=True, duration__lte=max_ts))
async for ban in bans: async for ban in bans:
guild = await bot.fetch_guild(ban.guild) guild = await bot.fetch_guild(ban.guild)

View file

@ -1,6 +1,6 @@
"""JARVIS Lock background task.""" """JARVIS Lock background task."""
import asyncio import asyncio
from datetime import datetime, timedelta from datetime import datetime, timedelta, timezone
from logging import Logger from logging import Logger
from dis_snek import Snake from dis_snek import Snake
@ -36,7 +36,7 @@ async def unlock(bot: Snake, logger: Logger) -> None:
logger: Global logger logger: Global logger
""" """
while True: while True:
max_ts = datetime.utcnow() + timedelta(seconds=55) max_ts = datetime.now(tz=timezone.utc) + timedelta(seconds=55)
locks = Lock.find(q(active=True, created_at__lte=max_ts)) locks = Lock.find(q(active=True, created_at__lte=max_ts))
async for lock in locks: async for lock in locks:
guild = await bot.fetch_guild(lock.guild) guild = await bot.fetch_guild(lock.guild)

View file

@ -1,6 +1,6 @@
"""JARVIS Lockdown background task.""" """JARVIS Lockdown background task."""
import asyncio import asyncio
from datetime import datetime, timedelta from datetime import datetime, timedelta, timezone
from logging import Logger from logging import Logger
from dis_snek import Snake from dis_snek import Snake
@ -29,7 +29,7 @@ async def lift(bot: Snake, logger: Logger) -> None:
logger: Global logger logger: Global logger
""" """
while True: while True:
max_ts = datetime.utcnow() + timedelta(seconds=55) max_ts = datetime.now(tz=timezone.utc) + timedelta(seconds=55)
locks = Lockdown.find(q(active=True, created_at__lte=max_ts)) locks = Lockdown.find(q(active=True, created_at__lte=max_ts))
async for lock in locks: async for lock in locks:
guild = await bot.fetch_guild(lock.guild) guild = await bot.fetch_guild(lock.guild)

View file

@ -1,6 +1,6 @@
"""JARVIS reminders.""" """JARVIS reminders."""
import asyncio import asyncio
from datetime import datetime, timedelta from datetime import datetime, timedelta, timezone
from logging import Logger from logging import Logger
from typing import Optional from typing import Optional
@ -63,7 +63,7 @@ async def remind(bot: Snake, logger: Logger) -> None:
logger: Global logger logger: Global logger
""" """
while True: while True:
max_ts = datetime.utcnow() + timedelta(seconds=5) max_ts = datetime.now(tz=timezone.utc) + timedelta(seconds=5)
reminders = Reminder.find(q(remind_at__lte=max_ts, active=True)) reminders = Reminder.find(q(remind_at__lte=max_ts, active=True))
async for reminder in reminders: async for reminder in reminders:
user = await bot.fetch_user(reminder.user) user = await bot.fetch_user(reminder.user)

View file

@ -1,6 +1,6 @@
"""JARVIS Twitter sync.""" """JARVIS Twitter sync."""
import asyncio import asyncio
from datetime import datetime, timedelta from datetime import datetime, timedelta, timezone
from logging import Logger from logging import Logger
from typing import List from typing import List
@ -90,11 +90,11 @@ async def twitter(bot: Snake, logger: Logger) -> None:
async for account in accounts: async for account in accounts:
logger.debug(f"Checking account {account.handle}") logger.debug(f"Checking account {account.handle}")
# Check if account needs updated (handle changes) # Check if account needs updated (handle changes)
if account.last_sync + timedelta(hours=1) <= datetime.utcnow(): if account.last_sync + timedelta(hours=1) <= datetime.now(tz=timezone.utc):
logger.debug(f"Account {account.handle} out of sync, updating") logger.debug(f"Account {account.handle} out of sync, updating")
user = api.get_user(user_id=account.twitter_id) user = api.get_user(user_id=account.twitter_id)
account.handle = user.screen_name account.handle = user.screen_name
account.last_sync = datetime.utcnow() account.last_sync = datetime.now(tz=timezone.utc)
await account.commit() await account.commit()
# Get new tweets # Get new tweets

View file

@ -1,6 +1,6 @@
"""JARVIS warnings tasks.""" """JARVIS warnings tasks."""
import asyncio import asyncio
from datetime import datetime, timedelta from datetime import datetime, timedelta, timezone
from logging import Logger from logging import Logger
from dis_snek import Snake from dis_snek import Snake
@ -25,7 +25,7 @@ async def unwarn(bot: Snake, logger: Logger) -> None:
logger: Global logger logger: Global logger
""" """
while True: while True:
max_ts = datetime.utcnow() + timedelta(minutes=55) max_ts = datetime.now(tz=timezone.utc) + timedelta(minutes=55)
warns = Warning.find(q(active=True, created_at__lte=max_ts)) warns = Warning.find(q(active=True, created_at__lte=max_ts))
async for warn in warns: async for warn in warns:
coro = _unwarn(warn, logger) coro = _unwarn(warn, logger)

View file

@ -1,6 +1,6 @@
"""JARVIS task utilities.""" """JARVIS task utilities."""
import asyncio import asyncio
from datetime import datetime from datetime import datetime, timezone
from logging import Logger from logging import Logger
from typing import Coroutine from typing import Coroutine
@ -15,6 +15,6 @@ async def runat(when: datetime, coro: Coroutine, logger: Logger) -> None:
logger: Global logger logger: Global logger
""" """
logger.debug(f"Scheduling task {coro.__name__} for {when.isoformat()}") logger.debug(f"Scheduling task {coro.__name__} for {when.isoformat()}")
delay = when - datetime.utcnow() delay = when - datetime.now(tz=timezone.utc)
await asyncio.sleep(delay.total_seconds()) await asyncio.sleep(delay.total_seconds())
await coro await coro