email-assistant/viewers/main/viewer/main.py

52 lines
1.1 KiB
Python
Raw Normal View History

2018-02-06 04:40:14 +00:00
import os
import sys
import flask
import requests
app = flask.Flask(__name__)
2019-11-12 00:26:25 +00:00
app.config["DEBUG"] = True
2018-02-06 04:40:14 +00:00
2019-11-12 00:26:25 +00:00
indexer_url = os.environ.get("INDEXER_URL", "http://indexer")
2018-02-06 04:40:14 +00:00
2019-11-12 00:26:25 +00:00
@app.route("/healthcheck")
2018-04-06 00:00:48 +00:00
def healthcheck():
2019-11-12 00:26:25 +00:00
return "OK"
2018-04-06 00:00:48 +00:00
2019-11-12 00:26:25 +00:00
@app.route("/")
2018-04-06 00:00:48 +00:00
def home():
2019-11-12 00:26:25 +00:00
return flask.render_template("home.html")
2018-02-06 04:40:14 +00:00
2019-11-12 00:26:25 +00:00
@app.route("/shipping")
2018-02-06 04:40:14 +00:00
def get_tokens():
resp = requests.get(
2019-11-12 00:26:25 +00:00
indexer_url + "/token",
params={
2019-11-12 00:26:25 +00:00
"filter_type": "SHIPPING",
"desc": True,
},
2018-02-06 04:40:14 +00:00
)
resp.raise_for_status()
2019-11-12 00:26:25 +00:00
tokens = resp.json().get("tokens")
for token in tokens:
try:
resp = requests.get(
2019-11-12 00:26:25 +00:00
"http://viewer_package_tracking:3000/info/" + token["token"]
)
resp.raise_for_status()
2019-11-12 00:26:25 +00:00
print("Response: ", resp.text, file=sys.stderr)
info = resp.json()
2019-11-12 00:26:25 +00:00
token["metadata"].update(info)
except Exception as e:
2019-11-12 00:26:25 +00:00
print("Error", e, file=sys.stderr)
pass
2019-11-12 00:26:25 +00:00
return flask.render_template("shipping.html", trackers=tokens)
2018-02-06 04:40:14 +00:00
2019-11-12 00:26:25 +00:00
if __name__ == "__main__":
app.run(host="0.0.0.0", port=5000)