Compare commits
2 commits
128d84fce9
...
fc0d6f114a
Author | SHA1 | Date | |
---|---|---|---|
Edward Betts | fc0d6f114a | ||
Edward Betts | ea95c82b37 |
17
web_view.py
17
web_view.py
|
@ -11,7 +11,7 @@ import werkzeug
|
||||||
from requests_oauthlib import OAuth1Session
|
from requests_oauthlib import OAuth1Session
|
||||||
from werkzeug.wrappers.response import Response
|
from werkzeug.wrappers.response import Response
|
||||||
|
|
||||||
from add_links import api, core, mediawiki_api, wikidata_oauth
|
from add_links import api, core, mediawiki_api, mediawiki_oauth
|
||||||
from add_links.match import NoMatch, get_diff, get_match
|
from add_links.match import NoMatch, get_diff, get_match
|
||||||
|
|
||||||
app = flask.Flask(__name__)
|
app = flask.Flask(__name__)
|
||||||
|
@ -83,7 +83,7 @@ def search_no_link(q: str) -> tuple[int, list[Hit]]:
|
||||||
@app.before_request
|
@app.before_request
|
||||||
def global_user() -> None:
|
def global_user() -> None:
|
||||||
"""Make username available everywhere."""
|
"""Make username available everywhere."""
|
||||||
flask.g.user = wikidata_oauth.get_username()
|
flask.g.user = mediawiki_oauth.get_username()
|
||||||
|
|
||||||
|
|
||||||
@app.route("/")
|
@app.route("/")
|
||||||
|
@ -268,7 +268,7 @@ def article_page(url_title: str) -> str | Response:
|
||||||
hit_title = flask.request.form["hit"]
|
hit_title = flask.request.form["hit"]
|
||||||
try:
|
try:
|
||||||
do_save(from_title, hit_title)
|
do_save(from_title, hit_title)
|
||||||
except wikidata_oauth.LoginNeeded:
|
except mediawiki_oauth.LoginNeeded:
|
||||||
return flask.redirect(flask.url_for("start_oauth"))
|
return flask.redirect(flask.url_for("start_oauth"))
|
||||||
return flask.redirect(
|
return flask.redirect(
|
||||||
flask.url_for("article_page", url_title=url_title, after=hit_title)
|
flask.url_for("article_page", url_title=url_title, after=hit_title)
|
||||||
|
@ -283,10 +283,15 @@ def article_page(url_title: str) -> str | Response:
|
||||||
|
|
||||||
by_title = {hit["title"]: hit for hit in hits}
|
by_title = {hit["title"]: hit for hit in hits}
|
||||||
|
|
||||||
|
found = None
|
||||||
if article_title in by_title:
|
if article_title in by_title:
|
||||||
hit = by_title[article_title]
|
hit = by_title[article_title]
|
||||||
found = get_diff(from_title, hit["title"], None)
|
try:
|
||||||
else:
|
found = get_diff(from_title, hit["title"], None)
|
||||||
|
except NoMatch:
|
||||||
|
pass
|
||||||
|
|
||||||
|
if not found:
|
||||||
after = flask.request.args.get("after")
|
after = flask.request.args.get("after")
|
||||||
if after:
|
if after:
|
||||||
print(after)
|
print(after)
|
||||||
|
@ -316,7 +321,7 @@ def article_page(url_title: str) -> str | Response:
|
||||||
|
|
||||||
def do_save(title: str, hit_title: str) -> str:
|
def do_save(title: str, hit_title: str) -> str:
|
||||||
"""Update page on Wikipedia."""
|
"""Update page on Wikipedia."""
|
||||||
token = wikidata_oauth.get_token()
|
token = mediawiki_oauth.get_token()
|
||||||
|
|
||||||
found = get_match(title, hit_title, None)
|
found = get_match(title, hit_title, None)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue