Review story 1.5: provisioning execution passes all ACs — Epic 1 complete
Fix portal.py error handling so validate_cache failures return retry HTML while kill_wifi ProvisioningError propagates (re-raise) per AC4. All 56 tests pass. Update sprint-status.yaml: 1-5 → done, epic-1 → done. Append story 1.5 deferred items to deferred-work.md. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -110,32 +110,33 @@ def _run_provisioning(
|
||||
wifi_ssid: str,
|
||||
wifi_password: str,
|
||||
) -> str:
|
||||
wifi.join_home_wifi(wifi_ssid, wifi_password)
|
||||
tiles.download_and_composite(confirmed_lat, confirmed_lon, radius)
|
||||
airspace.download(confirmed_lat, confirmed_lon, radius)
|
||||
try:
|
||||
wifi.join_home_wifi(wifi_ssid, wifi_password)
|
||||
tiles.download_and_composite(confirmed_lat, confirmed_lon, radius)
|
||||
airspace.download(confirmed_lat, confirmed_lon, radius)
|
||||
tiles.validate_cache()
|
||||
config.write(
|
||||
{
|
||||
"home_lat": confirmed_lat,
|
||||
"home_lon": confirmed_lon,
|
||||
"coverage_radius_nm": int(radius),
|
||||
"wifi_ssid": wifi_ssid,
|
||||
"wifi_password": wifi_password,
|
||||
"provisioned": True,
|
||||
}
|
||||
)
|
||||
wifi.kill_wifi()
|
||||
return (
|
||||
"<html><body>"
|
||||
"<h1>Setup complete. The device will now start displaying radar.</h1>"
|
||||
"</body></html>"
|
||||
)
|
||||
except ProvisioningError as e:
|
||||
log.error("provisioning failed: %s", e)
|
||||
log.error("cache validation failed: %s", e)
|
||||
return (
|
||||
f"<html><body><p>Provisioning failed: {e}. <a href='/'>Try again</a></p></body></html>"
|
||||
f"<html><body><p>Cache validation failed: {e}. "
|
||||
f"<a href='/'>Try again</a></p></body></html>"
|
||||
)
|
||||
config.write(
|
||||
{
|
||||
"home_lat": confirmed_lat,
|
||||
"home_lon": confirmed_lon,
|
||||
"coverage_radius_nm": int(radius),
|
||||
"wifi_ssid": wifi_ssid,
|
||||
"wifi_password": wifi_password,
|
||||
"provisioned": True,
|
||||
}
|
||||
)
|
||||
wifi.kill_wifi()
|
||||
return (
|
||||
"<html><body>"
|
||||
"<h1>Setup complete. The device will now start displaying radar.</h1>"
|
||||
"</body></html>"
|
||||
)
|
||||
|
||||
|
||||
@app.route("/submit", methods=["POST"])
|
||||
|
||||
Reference in New Issue
Block a user