fix dates
This commit is contained in:
@@ -4,7 +4,7 @@ from collections import defaultdict
|
||||
|
||||
# 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:
|
||||
@@ -25,7 +25,7 @@ class Counter:
|
||||
if self.last_used is None:
|
||||
return 0
|
||||
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:
|
||||
|
||||
@@ -5,7 +5,7 @@ import discord
|
||||
|
||||
# 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:
|
||||
@@ -44,14 +44,14 @@ class Emoji:
|
||||
)
|
||||
|
||||
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:
|
||||
# If never used, use creation date instead
|
||||
if self.last_used is None:
|
||||
return self.life_days()
|
||||
else:
|
||||
return (datetime.today() - self.last_used).days
|
||||
return (utc_today() - self.last_used).days
|
||||
|
||||
def get_top_member(self) -> int:
|
||||
return top_key(self.members)
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ emojis.load_emojis()
|
||||
|
||||
bot = Bot(
|
||||
"Discord Analyst",
|
||||
"1.17.1",
|
||||
"1.17.2",
|
||||
alias="%",
|
||||
)
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ from utils import (
|
||||
command_cache,
|
||||
FilterLevel,
|
||||
SPLIT_TOKEN,
|
||||
utc_now
|
||||
)
|
||||
from logs import (
|
||||
GuildLogs,
|
||||
@@ -131,7 +132,7 @@ class Scanner(ABC):
|
||||
self.start_date = None if len(dates) < 1 else min(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(
|
||||
f"Start date is after today", reference=message
|
||||
)
|
||||
@@ -228,7 +229,7 @@ class Scanner(ABC):
|
||||
),
|
||||
)
|
||||
if self.stop_date is None:
|
||||
self.stop_date = datetime.utcnow()
|
||||
self.stop_date = utc_now()
|
||||
|
||||
self.msg_count = 0
|
||||
self.total_msg = 0
|
||||
|
||||
+12
-7
@@ -4,7 +4,7 @@ import os
|
||||
import logging
|
||||
import discord
|
||||
import math
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import datetime, timedelta, timezone
|
||||
import re
|
||||
import time
|
||||
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?)?)"
|
||||
|
||||
|
||||
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:
|
||||
today = datetime.utcnow().date()
|
||||
today = datetime(today.year, today.month, today.day)
|
||||
if src == "today":
|
||||
return today
|
||||
return utc_today()
|
||||
elif src == "yesterday":
|
||||
return today - relativedelta(days=1)
|
||||
return utc_today() - relativedelta(days=1)
|
||||
else:
|
||||
m = re.match("(\d*)(\w+)", src)
|
||||
delta = None
|
||||
@@ -280,7 +285,7 @@ def parse_relative_time(src: str) -> datetime:
|
||||
delta = relativedelta(months=value)
|
||||
elif unit == "y":
|
||||
delta = relativedelta(years=value)
|
||||
return datetime.utcnow() - delta
|
||||
return utc_now() - delta
|
||||
|
||||
|
||||
def parse_time(src: str) -> datetime:
|
||||
@@ -344,7 +349,7 @@ def get_intro(
|
||||
"""
|
||||
time_text = ""
|
||||
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)})"
|
||||
# Show all data (members, channels) when it's less than 5 units
|
||||
if len(members) == 0:
|
||||
|
||||
Reference in New Issue
Block a user