feat: switch all timezone naive datetimes to timezone aware

This commit is contained in:
Iain Learmonth 2024-12-06 16:08:48 +00:00
parent 41fc0a73a5
commit e22abb383c
30 changed files with 322 additions and 226 deletions

View file

@ -1,5 +1,5 @@
from datetime import datetime
from typing import List, TypedDict, Optional, TYPE_CHECKING
from datetime import datetime, timezone
from typing import TYPE_CHECKING, List, Optional, TypedDict
from sqlalchemy import and_
from sqlalchemy.orm import Mapped, aliased, mapped_column, relationship
@ -22,7 +22,7 @@ class GroupDict(TypedDict):
class Group(AbstractConfiguration):
group_name: Mapped[str] = db.Column(db.String(80), unique=True, nullable=False)
group_name: Mapped[str] = mapped_column(unique=True)
eotk: Mapped[bool]
origins: Mapped[List["Origin"]] = relationship("Origin", back_populates="group")
@ -93,19 +93,19 @@ class Pool(AbstractConfiguration):
class PoolGroup(db.Model): # type: ignore[name-defined,misc]
pool_id = db.Column(db.Integer, db.ForeignKey("pool.id"), primary_key=True)
group_id = db.Column(db.Integer, db.ForeignKey("group.id"), primary_key=True)
pool_id: Mapped[int] = mapped_column(db.ForeignKey("pool.id"), primary_key=True)
group_id: Mapped[int] = mapped_column(db.ForeignKey("group.id"), primary_key=True)
class MirrorList(AbstractConfiguration):
pool_id = db.Column(db.Integer, db.ForeignKey("pool.id"))
provider = db.Column(db.String(255), nullable=False)
format = db.Column(db.String(20), nullable=False)
encoding = db.Column(db.String(20), nullable=False)
container = db.Column(db.String(255), nullable=False)
branch = db.Column(db.String(255), nullable=False)
role = db.Column(db.String(255), nullable=True)
filename = db.Column(db.String(255), nullable=False)
pool_id: Mapped[int] = mapped_column(db.ForeignKey("pool.id"))
provider: Mapped[str]
format: Mapped[str]
encoding: Mapped[str]
container: Mapped[str]
branch: Mapped[str]
role: Mapped[Optional[str]]
filename: Mapped[str]
pool = db.relationship("Pool", back_populates="lists")
@ -132,8 +132,8 @@ class MirrorList(AbstractConfiguration):
}
def destroy(self) -> None:
self.destroyed = datetime.utcnow()
self.updated = datetime.utcnow()
self.destroyed = datetime.now(tz=timezone.utc)
self.updated = datetime.now(tz=timezone.utc)
def url(self) -> str:
if self.provider == "gitlab":