fix dates
This commit is contained in:
@@ -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:
|
||||||
|
|||||||
@@ -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
@@ -18,7 +18,7 @@ emojis.load_emojis()
|
|||||||
|
|
||||||
bot = Bot(
|
bot = Bot(
|
||||||
"Discord Analyst",
|
"Discord Analyst",
|
||||||
"1.17.1",
|
"1.17.2",
|
||||||
alias="%",
|
alias="%",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -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
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user