"""
Classes and function releated to status call.
"""
-from typing import Optional, cast
+from typing import Optional
import datetime as dt
import dataclasses
sql = sa.select(conn.t.import_status.c.lastimportdate).limit(1)
status.data_updated = await conn.scalar(sql)
+ if status.data_updated is not None:
+ if status.data_updated.tzinfo is None:
+ status.data_updated = status.data_updated.replace(tzinfo=dt.timezone.utc)
+ else:
+ status.data_updated = status.data_updated.astimezone(dt.timezone.utc)
+
# Database version
- sql = sa.select(conn.t.properties.c.value)\
- .where(conn.t.properties.c.property == 'database_version')
- verstr = await conn.scalar(sql)
- if verstr is not None:
- status.database_version = version.parse_version(cast(str, verstr))
+ try:
+ verstr = await conn.get_property('database_version')
+ status.database_version = version.parse_version(verstr)
+ except ValueError:
+ pass
return status