diff --git a/ozgursozluk/__init__.py b/ozgursozluk/__init__.py index 5896c89..2fb41fb 100644 --- a/ozgursozluk/__init__.py +++ b/ozgursozluk/__init__.py @@ -1,12 +1,12 @@ -import flask +from flask import Flask -__version__ = "0.4.0" +__version__ = "0.4.1" __author__ = "beucismis" __source__ = "https://github.com/beucismis/ozgursozluk" __description__ = "free alternative simple ekşi sözlük front-end" -app = flask.Flask(__name__) +app = Flask(__name__) app.config.from_object("ozgursozluk.config") diff --git a/ozgursozluk/api.py b/ozgursozluk/api.py index eef8fb3..58ce358 100644 --- a/ozgursozluk/api.py +++ b/ozgursozluk/api.py @@ -1,8 +1,8 @@ from typing import Iterator from dataclasses import dataclass -import flask import requests +from flask import abort from bs4 import BeautifulSoup from fake_useragent import UserAgent @@ -82,7 +82,7 @@ class Eksi: ) if response.status_code != 200: - flask.abort(response.status_code) + abort(response.status_code) return response diff --git a/ozgursozluk/utils.py b/ozgursozluk/utils.py new file mode 100644 index 0000000..556de1c --- /dev/null +++ b/ozgursozluk/utils.py @@ -0,0 +1,32 @@ +import re + + +DEFAULT_NITTER_URL = "https://nitter.net" +DEFAULT_LIBREDDIT_URL = "https://libredd.it" +DEFAULT_INVIDIOUS_URL = "https://invidio.us" + +PATTERNS = [ + { + "url": f"{DEFAULT_NITTER_URL}/%s", + "regex": r"(https?://twitter\.com/([\w-]+))", + }, + { + "url": f"{DEFAULT_LIBREDDIT_URL}/%s", + "regex": r"(https?://(www\.)?reddit\.com/([\w-]+))", + }, + { + "url": f"{DEFAULT_INVIDIOUS_URL}/%s", + "regex": r"(https?://(www\.)?youtube\.com/([\w-]+))", + }, +] + + +def replace_links(content: str) -> str: + for url, regex in PATTERNS.items(): + pattern = re.compile(regex, re.IGNORECASE) + match = pattern.search(content) + + if match: + content = content.replace(match.group(1), url % match.group(2)) + + return content