diff --git a/add_links/mediawiki_api.py b/add_links/mediawiki_api.py index c834021..fa69bde 100644 --- a/add_links/mediawiki_api.py +++ b/add_links/mediawiki_api.py @@ -4,7 +4,7 @@ import typing from pprint import pprint from typing import Any, cast -from . import mediawiki_oauth +from . import wikidata_oauth wiki_hostname = "en.wikipedia.org" wiki_api_php = f"https://{wiki_hostname}/w/api.php" @@ -29,7 +29,7 @@ def parse_page(enwiki: str) -> dict[str, Any]: def call(params: dict[str, str | int]) -> dict[str, typing.Any]: """Make GET request to mediawiki API.""" - data = mediawiki_oauth.api_post_request(params) + data = wikidata_oauth.api_post_request(params) return cast(dict[str, Any], data.json()) diff --git a/web_view.py b/web_view.py index 0f8a1c6..f15d95f 100755 --- a/web_view.py +++ b/web_view.py @@ -84,25 +84,24 @@ def article_url(title: str) -> str: return flask.url_for("article_page", url_title=title.replace(" ", "_")) -def get_hit_count(q: str) -> int: - """Search Wikipedia and return hit count.""" - return typing.cast(int, run_search(q, limit=0)["searchinfo"]["totalhits"]) - - def search_count(q: str) -> int: """How often does this article title appear in Wikipedia.""" - return get_hit_count(article_title_to_search_query(q)) - 1 + query = run_search(article_title_to_search_query(q), limit=0) + return typing.cast(int, query["searchinfo"]["totalhits"]) - 1 def search_count_with_link(q: str) -> int: - """Articles in Wikipedia that include this search term and a link.""" - return get_hit_count(article_title_to_search_query(q) + f' linksto:"{q}"') + """How often does this article title appear in Wikipedia.""" + query = run_search(article_title_to_search_query(q) + f' linksto:"{q}"', limit=0) + return typing.cast(int, query["searchinfo"]["totalhits"]) def search_no_link(q: str) -> tuple[int, list[Hit]]: """Search for mentions of article title with no link included.""" query = run_search(article_title_to_search_query(q) + f' -linksto:"{q}"', "max") - return (query["searchinfo"]["totalhits"], query["search"]) + totalhits = query["searchinfo"]["totalhits"] + results = query["search"] + return (totalhits, results) @app.before_request @@ -133,27 +132,7 @@ def index() -> str | Response: def case_flip(s: str) -> str: - """ - Switch the case of a single character. - - If the character is lowercase, it is converted to uppercase. If it is uppercase, - it is converted to lowercase. Non-alphabetic characters remain unchanged. - - Args: - s (str): A single character string. - - Returns: - str: The character with its case flipped, or the original character if it's - not a letter. - - Example: - >>> case_flip('a') - 'A' - >>> case_flip('A') - 'a' - >>> case_flip('1') - '1' - """ + """Switch case of character.""" if s.islower(): return s.upper() if s.isupper():