Use basedpyright refactor
This commit is contained in:
42
folkugat_web/dal/sql/sessions/conversion.py
Normal file
42
folkugat_web/dal/sql/sessions/conversion.py
Normal file
@@ -0,0 +1,42 @@
|
||||
import datetime
|
||||
from typing import TypedDict
|
||||
|
||||
from folkugat_web.model import sessions as model
|
||||
|
||||
SessionRowTuple = tuple[int, str, str, str, str | None, str | None, bool]
|
||||
|
||||
|
||||
class SessionRowDict(TypedDict):
|
||||
id: int | None
|
||||
date: str
|
||||
start_time: str
|
||||
end_time: str
|
||||
venue_name: str | None
|
||||
venue_url: str | None
|
||||
is_live: bool
|
||||
|
||||
|
||||
def session_to_row(sessio: model.Session) -> SessionRowDict:
|
||||
return {
|
||||
'id': sessio.id,
|
||||
'date': sessio.date.isoformat(),
|
||||
'start_time': sessio.start_time.isoformat(),
|
||||
'end_time': sessio.end_time.isoformat(),
|
||||
'venue_name': sessio.venue.name,
|
||||
'venue_url': sessio.venue.url,
|
||||
'is_live': sessio.is_live,
|
||||
}
|
||||
|
||||
|
||||
def row_to_session(row: SessionRowTuple) -> model.Session:
|
||||
return model.Session(
|
||||
id=row[0],
|
||||
date=datetime.date.fromisoformat(row[1]),
|
||||
start_time=datetime.time.fromisoformat(row[2]),
|
||||
end_time=datetime.time.fromisoformat(row[3]),
|
||||
venue=model.SessionVenue(
|
||||
name=row[4],
|
||||
url=row[5],
|
||||
),
|
||||
is_live=row[6],
|
||||
)
|
||||
Reference in New Issue
Block a user