annotate myw2/myw_flask_app.py @ 146:bd31bc82164a
myw2: Remove mobile page
author |
paulo |
date |
Fri, 06 Jun 2025 07:19:39 +0000 |
parents |
93ad5ecd149d |
children |
|
rev |
line source |
paulo@112
|
1 import collections
|
paulo@112
|
2
|
paulo@112
|
3 import flask
|
paulo@112
|
4 import markupsafe
|
paulo@112
|
5
|
paulo@112
|
6 from html3.html3 import HTML
|
paulo@112
|
7
|
paulo@112
|
8
|
paulo@112
|
9 app = flask.Flask(__name__)
|
paulo@112
|
10
|
paulo@112
|
11
|
paulo@112
|
12 REDIRECTS = collections.OrderedDict({
|
paulo@112
|
13 "desktop": "http://forecast.weather.gov/MapClick.php?lat=37.63048605200049&lon=-122.41107706299971",
|
paulo@136
|
14 "radar": "https://radar.weather.gov/ridge/standard/KMUX_loop.gif",
|
paulo@128
|
15 "hourly": "https://forecast.weather.gov/MapClick.php?w0=t&w1=td&w2=wc&w3=sfcwind&w4=sky&w5=pop&w6=rh&w7=rain&w8=thunder&w12=fog&AheadHour=0&Submit=Submit&&FcstType=graphical&textField1=37.6305&textField2=-122.4111&site=all",
|
paulo@112
|
16 "goes": "https://www.star.nesdis.noaa.gov/GOES/sector.php?sat=G17§or=psw",
|
paulo@112
|
17 })
|
paulo@112
|
18
|
paulo@112
|
19
|
paulo@112
|
20 @app.route("/")
|
paulo@112
|
21 def index():
|
paulo@112
|
22 root = HTML("html")
|
paulo@112
|
23
|
paulo@112
|
24 header = root.head
|
paulo@112
|
25 header.title("myw")
|
paulo@112
|
26 header.link(rel="stylesheet", type="text/css",
|
paulo@112
|
27 href=flask.url_for("static", filename="index.css"))
|
paulo@112
|
28
|
paulo@112
|
29 body = root.body(klass="body")
|
paulo@112
|
30
|
paulo@112
|
31 for i in REDIRECTS:
|
paulo@112
|
32 div = body.div()
|
paulo@112
|
33 div.a(i.capitalize(), href=flask.url_for("show_target", target=i))
|
paulo@112
|
34
|
paulo@112
|
35 return str(root).encode("utf-8")
|
paulo@112
|
36
|
paulo@112
|
37
|
paulo@112
|
38 @app.route("/<target>")
|
paulo@112
|
39 def show_target(target):
|
paulo@112
|
40 safe_target = markupsafe.escape(target)
|
paulo@112
|
41 if safe_target in REDIRECTS:
|
paulo@112
|
42 return flask.redirect(REDIRECTS[safe_target], code=301)
|
paulo@112
|
43 else:
|
paulo@112
|
44 flask.abort(404)
|