Fix cookie expire

pull/3/head
beucismis 1 year ago
parent 47cd832dba
commit 847a042c68
  1. 56
      ozgursozluk/views.py

@ -1,5 +1,6 @@
import flask
from flask import request
from datetime import datetime, timedelta
from flask import url_for, redirect, request, render_template
import ozgursozluk
from ozgursozluk.api import Eksi
@ -18,6 +19,10 @@ def _last_commit() -> str:
return file.read()
def _expires() -> datetime:
return datetime.now() + timedelta(days=365)
@ozgursozluk.app.context_processor
def context_processor():
return dict(
@ -34,22 +39,22 @@ def index():
p = request.args.get("p", default=1, type=int)
if q is not None:
return flask.redirect(flask.url_for("search", q=q))
return redirect(url_for("search", q=q))
if request.method == "POST":
return flask.redirect(flask.url_for("search", q=request.form["q"]))
return redirect(url_for("search", q=request.form["q"]))
eksi.base_url = request.cookies.get("eksi_base_url", DEFAULT_EKSI_BASE_URL)
gundem = eksi.get_gundem(p)
return flask.render_template("index.html", gundem=gundem, p=p)
return render_template("index.html", gundem=gundem, p=p)
@ozgursozluk.app.route("/search/<q>")
def search(q: str):
eksi.base_url = request.cookies.get("eksi_base_url", DEFAULT_EKSI_BASE_URL)
return flask.render_template("topic.html", topic=eksi.search_topic(q), p=1, a=None)
return render_template("topic.html", topic=eksi.search_topic(q), p=1, a=None)
@ozgursozluk.app.route("/<title>")
@ -58,7 +63,7 @@ def topic(title: str):
a = request.args.get("a", default=None, type=str)
eksi.base_url = request.cookies.get("eksi_base_url", DEFAULT_EKSI_BASE_URL)
return flask.render_template(
return render_template(
"topic.html", topic=eksi.get_topic(title, p, a), p=p, a=a
)
@ -67,46 +72,59 @@ def topic(title: str):
def debe():
eksi.base_url = request.cookies.get("eksi_base_url", DEFAULT_EKSI_BASE_URL)
return flask.render_template("debe.html", debe=eksi.get_debe())
return render_template("debe.html", debe=eksi.get_debe())
@ozgursozluk.app.route("/entry/<int:id>")
def entry(id: int):
eksi.base_url = request.cookies.get("eksi_base_url", DEFAULT_EKSI_BASE_URL)
return flask.render_template("topic.html", topic=eksi.get_entry(id), p=1)
return render_template("topic.html", topic=eksi.get_entry(id), p=1)
@ozgursozluk.app.route("/biri/<nickname>")
def author(nickname: str):
eksi.base_url = request.cookies.get("eksi_base_url", DEFAULT_EKSI_BASE_URL)
return flask.render_template("author.html", author=eksi.get_author(nickname))
return render_template("author.html", author=eksi.get_author(nickname))
@ozgursozluk.app.route("/settings", methods=["GET", "POST"])
def settings():
if request.method == "POST":
response = flask.redirect(flask.url_for("settings"))
response.set_cookie("theme", flask.request.form["theme"])
response = redirect(url_for("settings"))
response.set_cookie(
"theme",
request.form["theme"],
expires=_expires(),
)
response.set_cookie(
"display_author_nickname",
flask.request.form["display_author_nickname"],
request.form["display_author_nickname"],
expires=_expires(),
)
response.set_cookie(
"eksi_base_url",
request.form["eksi_base_url"],
expires=_expires(),
)
response.set_cookie("eksi_base_url", flask.request.form["eksi_base_url"])
return response
return flask.render_template(
return render_template(
"settings.html",
theme=request.cookies.get("theme", DEFAULT_THEME),
theme=request.cookies.get(
"theme", DEFAULT_THEME
),
display_author_nickname=request.cookies.get(
"display_author_nickname", DEFAULT_DISPLAY_AUTHOR_NICKNAME
),
eksi_base_url=request.cookies.get("eksi_base_url", DEFAULT_EKSI_BASE_URL),
eksi_base_url=request.cookies.get(
"eksi_base_url", DEFAULT_EKSI_BASE_URL
),
)
@ozgursozluk.app.errorhandler(404)
def page_not_found(e):
return flask.render_template("404.html"), 404
def page_not_found(error):
return render_template("404.html", error=error), 404

Loading…
Cancel
Save