fix dates

This commit is contained in:
Klemek
2023-10-16 11:03:46 +02:00
parent eb6607de60
commit fffaae130c
5 changed files with 21 additions and 15 deletions
+2 -2
View File
@@ -4,7 +4,7 @@ from collections import defaultdict
# Custom libs # Custom libs
from utils import plural, from_now, percent, val_sum, top_key from utils import plural, from_now, percent, val_sum, top_key, utc_today
class Counter: class Counter:
@@ -25,7 +25,7 @@ class Counter:
if self.last_used is None: if self.last_used is None:
return 0 return 0
return self.all_usages() + 1 / ( return self.all_usages() + 1 / (
100000 * ((datetime.today() - self.last_used).days + 1) 100000 * ((utc_today() - self.last_used).days + 1)
) )
def all_usages(self) -> int: def all_usages(self) -> int:
+3 -3
View File
@@ -5,7 +5,7 @@ import discord
# Custom libs # Custom libs
from utils import mention, plural, from_now, top_key, percent from utils import mention, plural, from_now, top_key, percent, utc_today
class Emoji: class Emoji:
@@ -44,14 +44,14 @@ class Emoji:
) )
def life_days(self) -> int: def life_days(self) -> int:
return (datetime.today() - self.emoji.created_at).days return (utc_today() - self.emoji.created_at).days
def use_days(self) -> int: def use_days(self) -> int:
# If never used, use creation date instead # If never used, use creation date instead
if self.last_used is None: if self.last_used is None:
return self.life_days() return self.life_days()
else: else:
return (datetime.today() - self.last_used).days return (utc_today() - self.last_used).days
def get_top_member(self) -> int: def get_top_member(self) -> int:
return top_key(self.members) return top_key(self.members)
+1 -1
View File
@@ -18,7 +18,7 @@ emojis.load_emojis()
bot = Bot( bot = Bot(
"Discord Analyst", "Discord Analyst",
"1.17.1", "1.17.2",
alias="%", alias="%",
) )
+3 -2
View File
@@ -18,6 +18,7 @@ from utils import (
command_cache, command_cache,
FilterLevel, FilterLevel,
SPLIT_TOKEN, SPLIT_TOKEN,
utc_now
) )
from logs import ( from logs import (
GuildLogs, GuildLogs,
@@ -131,7 +132,7 @@ class Scanner(ABC):
self.start_date = None if len(dates) < 1 else min(dates) self.start_date = None if len(dates) < 1 else min(dates)
self.stop_date = None if len(dates) < 2 else max(dates) self.stop_date = None if len(dates) < 2 else max(dates)
if self.start_date is not None and self.start_date > datetime.now(): if self.start_date is not None and self.start_date > utc_now():
await message.channel.send( await message.channel.send(
f"Start date is after today", reference=message f"Start date is after today", reference=message
) )
@@ -228,7 +229,7 @@ class Scanner(ABC):
), ),
) )
if self.stop_date is None: if self.stop_date is None:
self.stop_date = datetime.utcnow() self.stop_date = utc_now()
self.msg_count = 0 self.msg_count = 0
self.total_msg = 0 self.total_msg = 0
+12 -7
View File
@@ -4,7 +4,7 @@ import os
import logging import logging
import discord import discord
import math import math
from datetime import datetime, timedelta from datetime import datetime, timedelta, timezone
import re import re
import time import time
import dateutil.parser import dateutil.parser
@@ -258,13 +258,18 @@ def parse_iso_datetime(str_date: str) -> datetime:
RELATIVE_REGEX = r"(yesterday|today|\d*hours?|\d+h(ours?)?|\d*days?|\d+d(ays?)?|\d*weeks?|\d+w(eeks?)?|\d*months?|\d+m(onths?)?|\d*years?|\d+y(ears?)?)" RELATIVE_REGEX = r"(yesterday|today|\d*hours?|\d+h(ours?)?|\d*days?|\d+d(ays?)?|\d*weeks?|\d+w(eeks?)?|\d*months?|\d+m(onths?)?|\d*years?|\d+y(ears?)?)"
def utc_now() -> datetime:
return datetime.now(tz=timezone.utc)
def utc_today() -> datetime:
return datetime.now(tz=timezone.utc).date()
def parse_relative_time(src: str) -> datetime: def parse_relative_time(src: str) -> datetime:
today = datetime.utcnow().date()
today = datetime(today.year, today.month, today.day)
if src == "today": if src == "today":
return today return utc_today()
elif src == "yesterday": elif src == "yesterday":
return today - relativedelta(days=1) return utc_today() - relativedelta(days=1)
else: else:
m = re.match("(\d*)(\w+)", src) m = re.match("(\d*)(\w+)", src)
delta = None delta = None
@@ -280,7 +285,7 @@ def parse_relative_time(src: str) -> datetime:
delta = relativedelta(months=value) delta = relativedelta(months=value)
elif unit == "y": elif unit == "y":
delta = relativedelta(years=value) delta = relativedelta(years=value)
return datetime.utcnow() - delta return utc_now() - delta
def parse_time(src: str) -> datetime: def parse_time(src: str) -> datetime:
@@ -344,7 +349,7 @@ def get_intro(
""" """
time_text = "" time_text = ""
if start_datetime is not None: if start_datetime is not None:
stop_datetime = datetime.now() if stop_datetime is None else stop_datetime stop_datetime = utc_now() if stop_datetime is None else stop_datetime
time_text = f" (in {str_delta(stop_datetime - start_datetime)})" time_text = f" (in {str_delta(stop_datetime - start_datetime)})"
# Show all data (members, channels) when it's less than 5 units # Show all data (members, channels) when it's less than 5 units
if len(members) == 0: if len(members) == 0: