| import random |
| from pathlib import Path |
|
|
| import flask |
|
|
| app = flask.Flask(__name__) |
|
|
|
|
| @app.get('/') |
| def index(): |
| return flask.render_template('index.html') |
|
|
|
|
| @app.get('/weather/data') |
| def weather_data(): |
| data = get_random_report() |
| return flask.jsonify(data) |
|
|
|
|
| @app.get('/serviceWorker.js') |
| def worker(): |
| js = Path(__file__).parent / 'static' / 'js' / 'serviceWorker.js' |
| text = js.read_text() |
| resp = flask.make_response(text) |
| resp.content_type = 'application/javascript' |
| resp.headers['Service-Worker-Allowed'] = '/' |
|
|
| return resp |
|
|
|
|
| def get_random_report() -> dict: |
| reports = [ |
| { |
| 'report': 'Clear and beautify skies today.', |
| 'sky': 'sunny', |
| 'temp': random.randint(65, 88), |
| }, |
| { |
| 'report': 'Cloudy and a bit cool today.', |
| 'sky': 'cloudy', |
| 'temp': random.randint(48, 60), |
| }, |
| { |
| 'report': 'Are those icicles falling from the sky? Get inside.', |
| 'sky': 'rain', |
| 'temp': random.randint(33, 40), |
| } |
| ] |
|
|
| return random.choice(reports) |
|
|