Refactored settings route

pull/6/head
Furkan 12 months ago
parent 444a5b3f99
commit 889bde7ba6
  1. 2
      .gitignore
  2. 7
      ozgursozluk/configs.py
  3. 11
      ozgursozluk/templates/settings.html
  4. 47
      ozgursozluk/views.py

2
.gitignore vendored

@ -158,3 +158,5 @@ cython_debug/
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
Pipfile*

@ -9,6 +9,13 @@ DEFAULT_DISPLAY_PINNED_TOPICS: Final = "true"
DEFAULT_DISPLAY_AUTHOR_NICKNAMES: Final = "false"
DEFAULT_EKSI_SOZLUK_BASE_URL: Final = "https://eksisozluk.com"
DEFAULT_COOKIES: Final = {
"theme": DEFAULT_THEME,
"display_pinned_topics": DEFAULT_DISPLAY_PINNED_TOPICS,
"display_author_nicknames": DEFAULT_DISPLAY_AUTHOR_NICKNAMES,
"eksi_sozluk_base_url": DEFAULT_EKSI_SOZLUK_BASE_URL
}
themes: Final = [
"light",
"dark",

@ -40,6 +40,17 @@
{% endfor %}
</select>
</div>
<div class="settings-group">
display entry favorite count:
<select name="display_entry_favorite_count">
{% for status in ['true', 'false'] %}
<option value="{{ status }}"
{% if default_display_entry_favorite_count == status %}selected{% endif %}>
{{ status }}
</option>
{% endfor %}
</select>
</div>
<div class="settings-group">
ekşi sözlük base url:
<select name="eksi_sozluk_base_url">

@ -6,10 +6,8 @@ from ozgursozluk.utils import last_commit, expires
from ozgursozluk.configs import (
themes,
eksi_sozluk_base_urls,
DEFAULT_THEME,
DEFAULT_DISPLAY_PINNED_TOPICS,
DEFAULT_DISPLAY_AUTHOR_NICKNAMES,
DEFAULT_EKSI_SOZLUK_BASE_URL,
DEFAULT_COOKIES,
DEFAULT_EKSI_SOZLUK_BASE_URL
)
@ -103,43 +101,20 @@ def settings():
if request.method == "POST":
response = redirect(url_for("settings"))
response.set_cookie(
"theme",
request.form["theme"],
expires=expires(),
)
response.set_cookie(
"display_pinned_topics",
request.form["display_pinned_topics"],
expires=expires(),
)
response.set_cookie(
"display_author_nicknames",
request.form["display_author_nicknames"],
expires=expires(),
)
response.set_cookie(
"eksi_sozluk_base_url",
request.form["eksi_sozluk_base_url"],
expires=expires(),
)
for cookie in DEFAULT_COOKIES:
response.set_cookie(
cookie,
request.form[cookie],
expires=expires()
)
return response
return render_template(
"settings.html",
default_theme=request.cookies.get(
"theme", DEFAULT_THEME,
),
default_display_pinned_topics=request.cookies.get(
"display_pinned_topics", DEFAULT_DISPLAY_PINNED_TOPICS,
),
default_display_author_nicknames=request.cookies.get(
"display_author_nicknames", DEFAULT_DISPLAY_AUTHOR_NICKNAMES,
),
default_eksi_sozluk_base_url=request.cookies.get(
"eksi_sozluk_base_url", DEFAULT_EKSI_SOZLUK_BASE_URL,
),
# Unpack DEFAULT_COOKIES variable to the template
**{f"default_{cookie}": request.cookies.get(cookie, DEFAULT_COOKIES[cookie])
for cookie in DEFAULT_COOKIES}
)

Loading…
Cancel
Save