uep-asi/main.py
Mikołaj Kaczmarek 8c7c4ceb19
init
2025-06-15 21:49:12 +02:00

82 lines
2.0 KiB
Python

import flask
from flask import Flask, render_template, request, session
import os
import traceback
import json
import random
import datetime
from db_utils import create_db_session, User
from weather_api import get_weather
# Inicjalizacja web app
app = flask.Flask(__name__,
template_folder='templates',
static_folder='static')
app.secret_key = os.urandom(24)
@app.route('/')
def test():
return "<h1>To jesty test aplikacji!</h1>"
# Przekazywanie prostych parametrów...
@app.route('/hello/<name>')
def hello(name):
return "<h1>Hello, %s!</h1>" % str(name)
# Proste logowanie zdarzeń...
plik_logu = "logi.txt"
@app.route('/logi/<name>')
def logi(name):
with open(plik_logu, 'a') as file:
now = datetime.datetime.now()
file.write(now.isoformat() + ": odwiedziny przez " + name + "\n")
return "<h1>Hello z logiem, %s!</h1>" % name
# Obsługa sesji...
@app.route("/zaloguj")
def zaloguj():
session["zalogowany"] = True
if session["zalogowany"]:
return render_template("frontpage.html")
else:
return "Użytkownik niezalogowany!"
@app.route("/wyloguj")
def wyloguj():
session["zalogowany"] = False
return "Użytkownik wylogowany!"
@app.route("/logowanie")
def logowanie():
return render_template("logowanie.html")
@app.route("/login", methods=["POST"])
def login():
# Twózs obiekt sesji BD...
sqlsession = create_db_session()
# Zdefiniuj zapytanie do BD...
query = sqlsession.query(User).filter(User.username == request.form["username"])
# Zaadaj zapytanie...
user = query.first()
result = "<h1>Login</h1>"
if request.form["username"]:
result += "<p>" + request.form["username"] + "</p>\n"
if request.form["password"]:
result += "<p>" + request.form["password"] + "</p>\n"
return result
@app.route("/pogoda")
def pogoda():
temp, humidity, type, rain = get_weather()
return render_template("pogoda.html", temp=temp, humid=humidity, weathertype=type, rain=rain)
if __name__ == '__main__':
app.run(debug=False)