Make random page show polygon on map

This commit is contained in:
Edward Betts 2023-11-04 21:36:05 +00:00
parent ea2f172388
commit 690d3281df

View file

@ -188,16 +188,10 @@ def index() -> str | Response:
@app.route("/random") @app.route("/random")
def random_location() -> str: def random_location() -> str | Response:
"""Return detail page for random lat/lon.""" """Return detail page for random lat/lon."""
lat, lon = get_random_lat_lon() lat, lon = get_random_lat_lon()
return build_detail_page(lat, lon)
elements = model.Polygon.coords_within(lat, lon)
result = do_lookup(elements, lat, lon)
return render_template(
"detail.html", lat=lat, lon=lon, result=result, elements=elements
)
@app.route("/wikidata_tag") @app.route("/wikidata_tag")
@ -223,14 +217,8 @@ def wikidata_tag() -> str:
) )
@app.route("/detail") def build_detail_page(lat: float, lon: float) -> str:
def detail_page() -> Response | str: """Run lookup and build detail page."""
"""Detail page."""
try:
lat_str, lon_str = request.args["lat"], request.args["lon"]
lat, lon = float(lat_str), float(lon_str)
except TypeError:
return redirect(url_for("index"))
try: try:
reply = lat_lon_to_wikidata(lat, lon) reply = lat_lon_to_wikidata(lat, lon)
except wikidata.QueryError as e: except wikidata.QueryError as e:
@ -251,5 +239,17 @@ def detail_page() -> Response | str:
) )
@app.route("/detail")
def detail_page() -> Response | str:
"""Detail page."""
try:
lat_str, lon_str = request.args["lat"], request.args["lon"]
lat, lon = float(lat_str), float(lon_str)
except TypeError:
return redirect(url_for("index"))
return build_detail_page(lat, lon)
if __name__ == "__main__": if __name__ == "__main__":
app.run(host="0.0.0.0") app.run(host="0.0.0.0")