From b1f402e1f9cb273d6603fa229441c3c84779ba3a Mon Sep 17 00:00:00 2001 From: Edward Betts Date: Wed, 17 Aug 2022 14:48:20 +0100 Subject: [PATCH] refactor --- dab_mechanic/wikipedia.py | 2 +- web_view.py | 22 +++++++++++++++------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/dab_mechanic/wikipedia.py b/dab_mechanic/wikipedia.py index 844508f..cf9510f 100644 --- a/dab_mechanic/wikipedia.py +++ b/dab_mechanic/wikipedia.py @@ -147,7 +147,7 @@ class Article: def __init__(self, enwiki: str) -> None: """Make a new Article object.""" - self.enwiki = enwiki + self.enwiki = enwiki.replace("_", " ") self.links = get_article_links(enwiki) diff --git a/web_view.py b/web_view.py index cac9233..c50fa7d 100755 --- a/web_view.py +++ b/web_view.py @@ -3,6 +3,7 @@ import inspect import json import re +from typing import Optional import flask import lxml.html @@ -123,16 +124,23 @@ def save(enwiki: str) -> Response | str: ) +def redirect_if_needed(enwiki: str) -> Optional[Response]: + """Check if there are spaces in the article name and redirect.""" + return ( + flask.redirect( + flask.url_for(flask.request.endpoint, enwiki=enwiki.replace(" ", "_")) + ) + if " " in enwiki + else None + ) + + @app.route("/enwiki/") def article_page(enwiki: str) -> Response: """Article Page.""" - enwiki_orig = enwiki - enwiki = enwiki.replace("_", " ") - enwiki_underscore = enwiki.replace(" ", "_") - if " " in enwiki_orig: - return flask.redirect( - flask.url_for(flask.request.endpoint, enwiki=enwiki_underscore) - ) + redirect = redirect_if_needed(enwiki) + if redirect: + return redirect article = wikipedia.Article(enwiki) article.load()