Source code for server.models.timestamp

from datetime import datetime, timezone
import sqlalchemy as sa


[docs]class TimeStamp(sa.types.TypeDecorator): """ This class is used to create time stamps for things like when clients submit code during the competiton. """ impl = sa.types.DateTime # if datetime is none, returns datetime. if timezone is none, returns local timezone.
[docs] def process_bind_param(self, value: datetime, dialect): if value is None: return datetime.utcnow() return value
# changes timezone to utc timezone
[docs] def process_result_value(self, value: datetime, dialect): if value is None: return value if value.tzinfo is None: return value.replace(tzinfo=timezone.utc) return value