Files
cksd/services/statistics.py

55 lines
1.4 KiB
Python

import time
import aiosqlite
from database import get_conn
async def get_ammeter_left_ele(limit=24):
async with get_conn() as conn:
conn.row_factory = aiosqlite.Row
cursor = await conn.execute(
"""
SELECT created_at, left_ele, left_free_ele
FROM ammeter_usage
ORDER BY created_at DESC
LIMIT ?
""",
(limit,),
)
rows = await cursor.fetchall()
rows.reverse()
times = [r[0] for r in rows]
# times = [time.strftime("%H:%M", time.localtime(r[0] / 1000)) for r in rows]
left_ele = [r[1] for r in rows]
left_free_ele = [r[2] for r in rows]
return times, left_ele, left_free_ele
async def get_water_left(limit=24):
async with get_conn() as conn:
conn.row_factory = aiosqlite.Row
cursor = await conn.execute(
"""
SELECT created_at, left_water, left_free_water
FROM water_usage
ORDER BY created_at DESC
LIMIT ?
""",
(limit,),
)
rows = await cursor.fetchall()
rows.reverse()
times = [r[0] for r in rows]
# times = [time.strftime("%Y-%m-%d %H:%M", time.localtime(r[0] / 1000)) for r in rows]
left_water = [r[1] for r in rows]
left_free_water = [r[2] for r in rows]
return times, left_water, left_free_water