Files
boc/landvex-admin-backend/app/routers/__pycache__/rivp_pilot1.cpython-39.pyc
T

54 lines
5.7 KiB
Plaintext
Raw Normal View History

a
Ij]ã@dZddlmZddlZddlZddlmZmZddlmZeddgdZ d Z
d
d Z e   d ¡dee
ee
d
œddƒZe   d¡deeee
ee
ee
edœddƒZe   d¡ddƒZe   d¡dee
dœddƒZdS)z|
RIVP Pilot 1 - Real Infrastructure Monitoring
Reads from SQLite database with real road network and generated observations
é)Ú APIRouterN)ÚListÚOptional)Údatetimez /rivp-pilot1Ú rivp_pilot1)ÚprefixÚtagsz4/home/bernt/.openclaw/workspace/rivp-pilot-1/rivp.dbcCst t¡}tj|_|S)N)Úsqlite3ÚconnectÚDB_PATHÚRowÚ row_factory)Úconn©rúP/home/bernt/.openclaw/workspace/landvex-admin-backend/app/routers/rivp_pilot1.pyÚget_dbs
rz
/public/roads)ÚcountyÚ road_typecÃtƒ}| ¡}d}g}|r,|d7}| |¡|rB|d7}| |¡|d7}| ||¡dd| ¡Dƒ}|D]&}| d|df¡| ¡d |d
<ql| ¡t|ƒtt d d |Dƒƒƒ|d
œS)z%Get all roads with optional filteringzSELECT * FROM roads WHERE 1=1z AND county = ?z
AND type = ?z ORDER BY county, namecSsg|] }t|ƒqSr©Údict©Ú.0ÚrowrrrÚ
<listcomp>'ózget_roads.<locals>.<listcomp>z3SELECT COUNT(*) FROM observations WHERE road_id = ?ÚidrÚobservation_countcss|]}|dVqdS)rNr)rÚrrrrÚ <genexpr>1rzget_roads.<locals>.<genexpr>)ÚtotalZcountiesÚroads)
rÚcursorÚappendÚexecuteÚfetchallÚfetchoneÚcloseÚlenÚlistÚset)rrrÚqueryÚparamsr ÚroadrrrÚ get_roadss*

 ýr.z/public/observationsF)Úroad_idÚobservation_typeÚseverityÚsourceÚ
verified_onlyc
Ãtƒ}| ¡}d}g}|r,|d7}| |¡|rB|d7}| |¡|rX|d7}| |¡|rn|d7}| |¡|rz|d7}|d7}| ||¡dd „| ¡Dƒ} | ¡t| ƒ| d
œS) zGet observations with filteringz
SELECT o.*, r.name as road_name, r.county
FROM observations o
JOIN roads r ON o.road_id = r.id
WHERE 1=1
z AND o.road_id = ?z AND o.observation_type = ?z AND o.severity = ?z AND o.source = ?z AND o.verified = 1z ORDER BY o.detected_date DESCcSsg|] }t|ƒqSrrrrrrrYrz$get_observations.<locals>.<listcomp>)rÚ observations©rr!r"r#r$r&r')
r/r0r1r2r3rr*r+r,r4rrrÚget_observations5s2



 þr6z/public/dashboardc ÃsFtƒ}| ¡}| d¡| ¡d}| d¡| ¡d}| d¡dd| ¡Dƒ}| d¡dd „| ¡Dƒ}| d
¡d d| ¡Dƒ}| d ¡d
d| ¡Dƒ}| d¡dd| ¡Dƒ}| d¡dd| ¡Dƒ} | d¡| ¡d}
| d¡| ¡d} | ¡|||dddœ||||| t|
dƒ| dœdœS)zGet dashboard statisticszSELECT COUNT(*) FROM roadsrz!SELECT COUNT(*) FROM observationsz.SELECT type, COUNT(*) FROM roads GROUP BY typecSsi|]}|d|dqS©rérrrrrÚ
<dictcomp>qrz!get_dashboard.<locals>.<dictcomp>zISELECT county, COUNT(*) FROM roads GROUP BY county ORDER BY COUNT(*) DESCcSsg|]}|d|ddœqS)rr8)rÚcountrrrrrrurz!get_dashboard.<locals>.<listcomp>zMSELECT observation_type, COUNT(*) FROM observations GROUP BY observation_typecSsi|]}|d|dqSr7rrrrrr9yrz9SELECT source, COUNT(*) FROM observations GROUP BY sourcecSsi|]}|d|dqSr7rrrrrr9}rz=SELECT severity, COUNT(*) FROM observations GROUP BY severitycSsi|]}|d|dqSr7rrrrrr9rz=SELECT verified, COUNT(*) FROM observations GROUP BY verifiedcSsi|]}|d|dqSr7rrrrrr9rz(SELECT AVG(confidence) FROM observationszg
SELECT COUNT(*) FROM observations
WHERE detected_date >= date('now', '-30 days')
)rÚby_typeZ by_countyé)rr<Z by_sourceZ by_severityÚ verificationÚaverage_confidenceÚ last_30_days)r r4)rr!r#r%r$r&Úround) rr*Z total_roadsÚtotal_observationsZ
roads_by_typeZroads_by_countyZ obs_by_typeZ
obs_by_sourceZobs_by_severityr>Zavg_confidenceZ
recent_obsrrrÚ
get_dashboardasH