diff --git a/ozgursozluk/__init__.py b/ozgursozluk/__init__.py index ecd33b4..f47b34b 100644 --- a/ozgursozluk/__init__.py +++ b/ozgursozluk/__init__.py @@ -1,7 +1,7 @@ from flask import Flask -__version__ = "0.6.1" +__version__ = "0.6.2" __author__ = "beucismis" __source__ = "https://github.com/beucismis/ozgursozluk" __description__ = "a free and open source alternative ekşi sözlük front-end" diff --git a/ozgursozluk/api.py b/ozgursozluk/api.py index 217f938..953c5bc 100644 --- a/ozgursozluk/api.py +++ b/ozgursozluk/api.py @@ -5,13 +5,15 @@ from flask import abort from bs4 import BeautifulSoup from fake_useragent import UserAgent -from ozgursozluk.config import DEFAULT_EKSI_BASE_URL +from ozgursozluk.configs import DEFAULT_EKSI_SOZLUK_BASE_URL from ozgursozluk.models import Entry, EntryTopic, Topic, Author, Gundem, Debe -class Eksi: +class EksiSozluk: def __init__( - self, base_url: str = DEFAULT_EKSI_BASE_URL, headers: Optional[dict] = None, + self, + base_url: str = DEFAULT_EKSI_SOZLUK_BASE_URL, + headers: Optional[dict] = None, ) -> None: self.base_url = base_url self.session = requests.Session() diff --git a/ozgursozluk/templates/settings.html b/ozgursozluk/templates/settings.html index 859cc84..2852236 100644 --- a/ozgursozluk/templates/settings.html +++ b/ozgursozluk/templates/settings.html @@ -10,36 +10,45 @@
theme:
display pinned topics:
display author nicknames:
- ekşi base url: - + {% for url in eksi_sozluk_base_urls %} + + {% endfor %}
diff --git a/ozgursozluk/views.py b/ozgursozluk/views.py index 67cf893..57fd33f 100644 --- a/ozgursozluk/views.py +++ b/ozgursozluk/views.py @@ -1,17 +1,19 @@ from flask import url_for, redirect, request, render_template import ozgursozluk -from ozgursozluk.api import Eksi +from ozgursozluk.api import EksiSozluk from ozgursozluk.utils import last_commit, expires -from ozgursozluk.config import ( +from ozgursozluk.configs import ( + themes, + eksi_sozluk_base_urls, DEFAULT_THEME, DEFAULT_DISPLAY_PINNED_TOPICS, DEFAULT_DISPLAY_AUTHOR_NICKNAMES, - DEFAULT_EKSI_BASE_URL, + DEFAULT_EKSI_SOZLUK_BASE_URL, ) -eksi = Eksi() +es = EksiSozluk() @ozgursozluk.app.context_processor @@ -23,6 +25,8 @@ def global_template_variables(): source=ozgursozluk.__source__, description=ozgursozluk.__description__, last_commit=last_commit(), + themes=themes, + eksi_sozluk_base_urls=eksi_sozluk_base_urls, ) @@ -30,7 +34,9 @@ def global_template_variables(): def before_request(): """Set base URL before request.""" - eksi.base_url = request.cookies.get("eksi_base_url", DEFAULT_EKSI_BASE_URL) + es.base_url = request.cookies.get( + "eksi_sozluk_base_url", DEFAULT_EKSI_SOZLUK_BASE_URL + ) @ozgursozluk.app.route("/", methods=["GET", "POST"]) @@ -46,7 +52,7 @@ def index(): if request.method == "POST": return redirect(url_for("search", q=request.form["q"])) - gundem = eksi.get_gundem(p) + gundem = es.get_gundem(p) return render_template("index.html", gundem=gundem, p=p) @@ -59,7 +65,7 @@ def topic(path: str): a = request.args.get("a", default=None, type=str) return render_template( - "topic.html", topic=eksi.get_topic(path, p, a), p=p, a=a + "topic.html", topic=es.get_topic(path, p, a), p=p, a=a ) @@ -67,28 +73,28 @@ def topic(path: str): def entry(id: int): """Entry route.""" - return render_template("entry.html", entry=eksi.get_entry(id)) + return render_template("entry.html", entry=es.get_entry(id)) @ozgursozluk.app.route("/biri/") def author(nickname: str): """Author route.""" - return render_template("author.html", author=eksi.get_author(nickname)) + return render_template("author.html", author=es.get_author(nickname)) @ozgursozluk.app.route("/debe") def debe(): """Debe route.""" - return render_template("debe.html", debe=eksi.get_debe()) + return render_template("debe.html", debe=es.get_debe()) @ozgursozluk.app.route("/search/") def search(q: str): """Search route.""" - return render_template("topic.html", topic=eksi.search_topic(q), p=1, a=None) + return render_template("topic.html", topic=es.search_topic(q), p=1, a=None) @ozgursozluk.app.route("/settings", methods=["GET", "POST"]) @@ -113,8 +119,8 @@ def settings(): expires=expires(), ) response.set_cookie( - "eksi_base_url", - request.form["eksi_base_url"], + "eksi_sozluk_base_url", + request.form["eksi_sozluk_base_url"], expires=expires(), ) @@ -122,17 +128,17 @@ def settings(): return render_template( "settings.html", - theme=request.cookies.get( + default_theme=request.cookies.get( "theme", DEFAULT_THEME, ), - display_pinned_topics=request.cookies.get( + default_display_pinned_topics=request.cookies.get( "display_pinned_topics", DEFAULT_DISPLAY_PINNED_TOPICS, ), - display_author_nicknames=request.cookies.get( + default_display_author_nicknames=request.cookies.get( "display_author_nicknames", DEFAULT_DISPLAY_AUTHOR_NICKNAMES, ), - eksi_base_url=request.cookies.get( - "eksi_base_url", DEFAULT_EKSI_BASE_URL, + default_eksi_sozluk_base_url=request.cookies.get( + "eksi_sozluk_base_url", DEFAULT_EKSI_SOZLUK_BASE_URL, ), ) diff --git a/tests.py b/tests.py index d49ad1f..f7623f8 100644 --- a/tests.py +++ b/tests.py @@ -1,11 +1,11 @@ import unittest -from ozgursozluk.api import Eksi +from ozgursozluk.api import EksiSozluk -eksi = Eksi() -topic = eksi.search_topic("linux") -entry = eksi.get_entry(1) +es = EksiSozluk() +topic = es.search_topic("linux") +entry = es.get_entry(1) class TestTopic(unittest.TestCase):