From 196873aac908bf7977300a61f74463aea0d35998 Mon Sep 17 00:00:00 2001 From: Brian Rogers Date: Sat, 10 Jan 2026 19:04:48 -0700 Subject: [PATCH] getting some ui and index route going --- weather/__init__.py | 4 ++ weather/static/Abel-Regular.woff2 | Bin 0 -> 11632 bytes weather/static/reset.css | 54 +++++++++++++++++++++++++++ weather/static/style.css | 20 ++++++++++ weather/templates/base.html | 28 ++++++++++++++ weather/templates/weather/index.html | 9 +++++ weather/weather.py | 18 +++++++++ 7 files changed, 133 insertions(+) create mode 100644 weather/static/Abel-Regular.woff2 create mode 100644 weather/static/reset.css create mode 100644 weather/static/style.css create mode 100644 weather/templates/base.html create mode 100644 weather/templates/weather/index.html create mode 100644 weather/weather.py diff --git a/weather/__init__.py b/weather/__init__.py index c8bc86d..f3c5a2a 100644 --- a/weather/__init__.py +++ b/weather/__init__.py @@ -26,4 +26,8 @@ def create_app(test_config=None): from . import db db.init_app(app) + from . import weather + app.register_blueprint(weather.bp) + app.add_url_rule('/', endpoint='index') + return app diff --git a/weather/static/Abel-Regular.woff2 b/weather/static/Abel-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..40f104b373e7b1a7ab6ef02a89331bb9e4243503 GIT binary patch literal 11632 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 + + + + + + {% block title %}{% endblock %} + + + + + + + + + + + + +
+ {% for message in get_flashed_messages() %} +
{{ message }}
+ {% endfor %} + + {% block content %}{% endblock %} +
+ + diff --git a/weather/templates/weather/index.html b/weather/templates/weather/index.html new file mode 100644 index 0000000..42ec546 --- /dev/null +++ b/weather/templates/weather/index.html @@ -0,0 +1,9 @@ +{% extends 'base.html' %} + +{% block content %} +Hey what's going on on this side? + +{% for period in periods %} +

{{ period['start_time'] }} - {{ period['end_time'] }} | {{ period['temperature'] }}{{ period['temperature_unit'] }}

+{% endfor %} +{% endblock %} diff --git a/weather/weather.py b/weather/weather.py new file mode 100644 index 0000000..636f4b5 --- /dev/null +++ b/weather/weather.py @@ -0,0 +1,18 @@ +from flask import ( + Blueprint, flash, g, render_template, request, url_for +) +from werkzeug.exceptions import abort + +from weather.db import get_db + +bp = Blueprint('weather', __name__) + +@bp.route('/') +def index(): + db = get_db() + periods = db.execute( + 'SELECT *' + ' FROM `periods`' + ' ORDER BY `id` DESC' + ).fetchall() + return render_template('weather/index.html', periods=periods) \ No newline at end of file