Fix timestamps being wrong
This commit is contained in:
parent
b81ea66d12
commit
be6ce3ef8d
6 changed files with 52 additions and 27 deletions
|
@ -1,5 +1,5 @@
|
|||
"""JARVIS database models."""
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timezone
|
||||
from typing import Any, List
|
||||
|
||||
import marshmallow as ma
|
||||
|
@ -11,6 +11,11 @@ from jarvis_core.db.models.modlog import Action, Modlog, Note
|
|||
from jarvis_core.db.models.twitter import TwitterAccount, TwitterFollow
|
||||
|
||||
|
||||
def get_now() -> datetime:
|
||||
"""Get proper timestamp."""
|
||||
return datetime.now(tz=timezone.utc)
|
||||
|
||||
|
||||
class RawField(fields.BaseField, ma.fields.Raw):
|
||||
pass
|
||||
|
||||
|
@ -71,7 +76,7 @@ class Lock(Document):
|
|||
guild: int = fields.IntegerField(required=True)
|
||||
reason: str = fields.StringField(required=True)
|
||||
original_perms: Permission = fields.EmbeddedField(Permission, required=False)
|
||||
created_at: datetime = fields.DateTimeField(default=datetime.utcnow)
|
||||
created_at: datetime = fields.DateTimeField(default=get_now)
|
||||
|
||||
|
||||
@JARVIS_INST.register
|
||||
|
@ -84,7 +89,7 @@ class Lockdown(Document):
|
|||
guild: int = fields.IntegerField(required=True)
|
||||
reason: str = fields.StringField(required=True)
|
||||
original_perms: int = fields.IntegerField(required=True)
|
||||
created_at: datetime = fields.DateTimeField(default=datetime.utcnow)
|
||||
created_at: datetime = fields.DateTimeField(default=get_now)
|
||||
|
||||
|
||||
@JARVIS_INST.register
|
||||
|
@ -95,7 +100,7 @@ class Purge(Document):
|
|||
channel: int = fields.IntegerField(required=True)
|
||||
guild: int = fields.IntegerField(required=True)
|
||||
count: int = fields.IntegerField(default=10)
|
||||
created_at: datetime = fields.DateTimeField(default=datetime.utcnow)
|
||||
created_at: datetime = fields.DateTimeField(default=get_now)
|
||||
|
||||
|
||||
@JARVIS_INST.register
|
||||
|
@ -108,7 +113,7 @@ class Reminder(Document):
|
|||
channel: int = fields.IntegerField(required=True)
|
||||
message: str = fields.StringField(required=True)
|
||||
remind_at: datetime = fields.DateTimeField(required=True)
|
||||
created_at: datetime = fields.DateTimeField(default=datetime.utcnow)
|
||||
created_at: datetime = fields.DateTimeField(default=get_now)
|
||||
private: bool = fields.BooleanField(default=False)
|
||||
|
||||
|
||||
|
@ -137,7 +142,7 @@ class Roleping(Document):
|
|||
guild: int = fields.IntegerField(required=True)
|
||||
admin: int = fields.IntegerField(required=True)
|
||||
bypass: Bypass = fields.EmbeddedField(Bypass)
|
||||
created_at: datetime = fields.DateTimeField(default=datetime.utcnow)
|
||||
created_at: datetime = fields.DateTimeField(default=get_now)
|
||||
|
||||
|
||||
@JARVIS_INST.register
|
||||
|
@ -161,7 +166,7 @@ class Star(Document):
|
|||
guild: int = fields.IntegerField(required=True)
|
||||
admin: int = fields.IntegerField(required=True)
|
||||
star: int = fields.IntegerField(required=True)
|
||||
created_at: datetime = fields.DateTimeField(default=datetime.utcnow)
|
||||
created_at: datetime = fields.DateTimeField(default=get_now)
|
||||
|
||||
|
||||
@JARVIS_INST.register
|
||||
|
@ -171,4 +176,4 @@ class Starboard(Document):
|
|||
channel: int = fields.IntegerField(required=True)
|
||||
guild: int = fields.IntegerField(required=True)
|
||||
admin: int = fields.IntegerField(required=True)
|
||||
created_at: datetime = fields.DateTimeField(default=datetime.utcnow)
|
||||
created_at: datetime = fields.DateTimeField(default=get_now)
|
||||
|
|
|
@ -1,11 +1,16 @@
|
|||
"""User action models."""
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timezone
|
||||
|
||||
from umongo import Document, fields
|
||||
|
||||
from jarvis_core.db import JARVIS_INST
|
||||
|
||||
|
||||
def get_now() -> datetime:
|
||||
"""Get proper timestamp."""
|
||||
return datetime.now(tz=timezone.utc)
|
||||
|
||||
|
||||
@JARVIS_INST.register
|
||||
class Ban(Document):
|
||||
active: bool = fields.BooleanField(default=True)
|
||||
|
@ -13,11 +18,11 @@ class Ban(Document):
|
|||
user: int = fields.IntegerField(required=True)
|
||||
username: str = fields.StringField(required=True)
|
||||
discrim: int = fields.IntegerField(required=True)
|
||||
duration: int = fields.IntegerField(required=False)
|
||||
duration: int = fields.IntegerField(required=False, default=None)
|
||||
guild: int = fields.IntegerField(required=True)
|
||||
type: str = fields.StringField(default="perm")
|
||||
reason: str = fields.StringField(required=True)
|
||||
created_at: datetime = fields.DateTimeField(default=datetime.utcnow)
|
||||
created_at: datetime = fields.DateTimeField(default=get_now)
|
||||
|
||||
|
||||
@JARVIS_INST.register
|
||||
|
@ -28,7 +33,7 @@ class Kick(Document):
|
|||
guild: int = fields.IntegerField(required=True)
|
||||
reason: str = fields.StringField(required=True)
|
||||
user: int = fields.IntegerField(required=True)
|
||||
created_at: datetime = fields.DateTimeField(default=datetime.utcnow)
|
||||
created_at: datetime = fields.DateTimeField(default=get_now)
|
||||
|
||||
|
||||
@JARVIS_INST.register
|
||||
|
@ -41,7 +46,7 @@ class Mute(Document):
|
|||
duration: int = fields.IntegerField(default=10)
|
||||
guild: int = fields.IntegerField(required=True)
|
||||
reason: str = fields.StringField(required=True)
|
||||
created_at: datetime = fields.DateTimeField(default=datetime.utcnow)
|
||||
created_at: datetime = fields.DateTimeField(default=get_now)
|
||||
|
||||
|
||||
@JARVIS_INST.register
|
||||
|
@ -54,7 +59,7 @@ class Unban(Document):
|
|||
guild: int = fields.IntegerField(required=True)
|
||||
admin: int = fields.IntegerField(required=True)
|
||||
reason: str = fields.StringField(required=True)
|
||||
created_at: datetime = fields.DateTimeField(default=datetime.utcnow)
|
||||
created_at: datetime = fields.DateTimeField(default=get_now)
|
||||
|
||||
|
||||
@JARVIS_INST.register
|
||||
|
@ -67,4 +72,4 @@ class Warning(Document):
|
|||
guild: int = fields.IntegerField(required=True)
|
||||
duration: int = fields.IntegerField(default=24)
|
||||
reason: str = fields.StringField(required=True)
|
||||
created_at: datetime = fields.DateTimeField(default=datetime.utcnow)
|
||||
created_at: datetime = fields.DateTimeField(default=get_now)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
"""Modlog database models."""
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timezone
|
||||
from typing import List
|
||||
|
||||
from bson import ObjectId
|
||||
|
@ -8,6 +8,11 @@ from umongo import Document, EmbeddedDocument, fields
|
|||
from jarvis_core.db import JARVIS_INST
|
||||
|
||||
|
||||
def get_now() -> datetime:
|
||||
"""Get proper timestamp."""
|
||||
return datetime.now(tz=timezone.utc)
|
||||
|
||||
|
||||
@JARVIS_INST.register
|
||||
class Action(EmbeddedDocument):
|
||||
"""Modlog embedded action document."""
|
||||
|
@ -22,7 +27,7 @@ class Note(EmbeddedDocument):
|
|||
|
||||
admin: int = fields.IntegerField(required=True)
|
||||
content: str = fields.StrField(required=True)
|
||||
created_at: datetime = fields.DateTimeField(default=datetime.utcnow)
|
||||
created_at: datetime = fields.DateTimeField(default=get_now)
|
||||
|
||||
|
||||
@JARVIS_INST.register
|
||||
|
@ -33,5 +38,5 @@ class Modlog(Document):
|
|||
admin: int = fields.IntegerField(required=True)
|
||||
actions: List[Action] = fields.ListField(fields.EmbeddedField(Action), factory=list)
|
||||
open: bool = fields.BoolField(default=True)
|
||||
created_at: datetime = fields.DateTimeField(default=datetime.utcnow)
|
||||
created_at: datetime = fields.DateTimeField(default=get_now)
|
||||
notes: List[Note] = fields.ListField(fields.EmbeddedField(Note), factory=list)
|
||||
|
|
|
@ -1,11 +1,16 @@
|
|||
"""Twitter database models."""
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timezone
|
||||
|
||||
from umongo import Document, fields
|
||||
|
||||
from jarvis_core.db import JARVIS_INST
|
||||
|
||||
|
||||
def get_now() -> datetime:
|
||||
"""Get proper timestamp."""
|
||||
return datetime.now(tz=timezone.utc)
|
||||
|
||||
|
||||
@JARVIS_INST.register
|
||||
class TwitterAccount(Document):
|
||||
"""Twitter Account object."""
|
||||
|
@ -13,7 +18,7 @@ class TwitterAccount(Document):
|
|||
handle: str = fields.StringField(required=True)
|
||||
twitter_id: int = fields.IntegerField(required=True)
|
||||
last_tweet: int = fields.IntegerField(required=True)
|
||||
last_sync: datetime = fields.DateTimeField(default=datetime.utcnow)
|
||||
last_sync: datetime = fields.DateTimeField(default=get_now)
|
||||
|
||||
class Meta:
|
||||
collection_name = "twitteraccount"
|
||||
|
@ -29,7 +34,7 @@ class TwitterFollow(Document):
|
|||
guild: int = fields.IntegerField(required=True)
|
||||
retweets: bool = fields.BooleanField(default=True)
|
||||
admin: int = fields.IntegerField(required=True)
|
||||
created_at: datetime = fields.DateTimeField(default=datetime.utcnow)
|
||||
created_at: datetime = fields.DateTimeField(default=get_now)
|
||||
|
||||
class Meta:
|
||||
collection_name = "twitterfollow"
|
||||
|
|
|
@ -6,6 +6,8 @@ FORMAT = "[%(asctime)s] [%(name)s] [%(levelname)8s] %(message)s"
|
|||
|
||||
handler = logging.StreamHandler()
|
||||
|
||||
LOGGER = None
|
||||
|
||||
|
||||
def get_logger(name: str, fmt: Optional[str] = FORMAT) -> logging.Logger:
|
||||
"""
|
||||
|
@ -14,8 +16,11 @@ def get_logger(name: str, fmt: Optional[str] = FORMAT) -> logging.Logger:
|
|||
Args:
|
||||
name: Name of the logger
|
||||
"""
|
||||
global LOGGER
|
||||
if not (logger := LOGGER):
|
||||
logger = logging.getLogger(name)
|
||||
formatter = logging.Formatter(fmt)
|
||||
handler.setFormatter(formatter)
|
||||
logger.addHandler(handler)
|
||||
LOGGER = logger
|
||||
return logger
|
||||
|
|
4
poetry.lock
generated
4
poetry.lock
generated
|
@ -538,7 +538,7 @@ python-versions = "*"
|
|||
name = "wrapt"
|
||||
version = "1.14.0"
|
||||
description = "Module for decorators, wrappers and monkey patching."
|
||||
category = "main"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
|
||||
|
||||
|
@ -565,7 +565,7 @@ multidict = ">=4.0"
|
|||
[metadata]
|
||||
lock-version = "1.1"
|
||||
python-versions = "^3.10"
|
||||
content-hash = "a07e2ba142cae04f133b170017335e96cb4076f0eff2ccbf6a37e080f865505d"
|
||||
content-hash = "8edf07b473e9615a836f71510d792021c6760ef94abe4b720f9ff12a37c5dce5"
|
||||
|
||||
[metadata.files]
|
||||
aiohttp = [
|
||||
|
|
Loading…
Add table
Reference in a new issue