diff --git a/README.md b/README.md index e8cef61..0ecb0db 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@

-

VATSIM Fox

+

VATSIM Fox — v1.2

Website to find out your detailed VATSIM stastic


@@ -14,7 +14,7 @@ Project based on [Virtual Air Traffic Simulation Network (VATSIM) API](https://v Written in Python 3.8.18 + JS (JQuery framework) + Boostrap ## Startup -For run application on your own machine, you must install docker. Then just one command in the "src" folder with the project source code: +To run application on your own machine, you must install docker. Then just one command in the "src" folder with the project source code: ```bash docker compose up @@ -37,6 +37,8 @@ python -m venv venv # downloading requirements && upgrading pip python -m pip install --upgrade pip python -m pip install -r requirements.txt +# starting application +python -m flask run --host 0.0.0.0 --debug ``` ## Feature diff --git a/src/app.py b/src/app.py index 00d3658..dff3806 100644 --- a/src/app.py +++ b/src/app.py @@ -19,9 +19,12 @@ def errorhandler_page(_): @app.route("/api/request") def request_handler(): if request_string := request.args.get("request_string"): - return requests.get(f"{VATSIM_API_URL}{request_string}").json() + try: + return requests.get(f"{VATSIM_API_URL}{request_string}").json() + except requests.exceptions.JSONDecodeError: + return jsonify({"result": "error", "message": "Something went wrong. Report that error please"}) - return jsonify({"result": "not found"}) + return jsonify({"result": "not found", "message": "Not found"}) @app.route("//") @@ -31,7 +34,7 @@ def viewer_page(cid): if "detail" in user and user["detail"] == "Not Found": return abort(404) - return render_template("viewer.html", data=(user, )) + return render_template("viewer.html", user=user) if __name__ == "__main__": diff --git a/src/static/viewer.css b/src/static/viewer.css index c03c1cc..3220435 100644 --- a/src/static/viewer.css +++ b/src/static/viewer.css @@ -6,3 +6,7 @@ .fox_active, .fox_atc_active { background-color: #dee2e6 !important; } + +#notification_wrapper { + display: none; +} diff --git a/src/static/viewer.js b/src/static/viewer.js index 019fda0..8c0a63d 100644 --- a/src/static/viewer.js +++ b/src/static/viewer.js @@ -2,8 +2,10 @@ let userSession = {}; fetch(ATC_API_URL, {}).then(response => response.json()).then(result => { - if (result && result["result"] == "not found") - return + if (result && (result["result"] == "not found" || result["result"] == "error")) { + showAlert("Error while getting ATC information", result["message"]); + return; + } for (let session of result["items"]) { // Separate each session by it's connection ID @@ -72,13 +74,13 @@ $.getJSON("/static/data/airports.json", function(json) { // Map creation const MAP_ELEMENT = L.map("fox_map"); -const MAP_DEFAULT_TARGET = L.latLng("47.50737", "19.04611"); -const MAP_DEFAULT_ZOOM_VIEW = 14; +const MAP_DEFAULT_ZOOM_VIEW = 2; +const MAP_DEFAULT_TARGET = L.latLng("0", "0"); let line = null; MAP_ELEMENT.setView(MAP_DEFAULT_TARGET, MAP_DEFAULT_ZOOM_VIEW); -L.tileLayer("http://{s}.tile.osm.org/{z}/{x}/{y}.png", { +L.tileLayer("https://cartodb-basemaps-{s}.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png", { attribution: '© OpenStreetMap contributors', subdomains: "abcd", maxZoom: 20, @@ -153,3 +155,9 @@ function showSession(session) { $(".atc_transfers").text(session["handoffsinitiated"]); $(".atc_received").text(session["handoffsreceived"]); } + +function showAlert(title, message) { + $("#notification_wrapper").css("display", "block"); + $("#notification_title").text(title); + $("#notification_message").text(message); +} diff --git a/src/templates/include/template.html b/src/templates/include/template.html index ed73ee1..87bc675 100644 --- a/src/templates/include/template.html +++ b/src/templates/include/template.html @@ -18,8 +18,20 @@ {% block header_css %}{% endblock %} @@ -33,13 +45,13 @@ {% block content %}{% endblock %} - - - + + + - - {% block javascript_code %}{% endblock %} + + {% block javascript_code %}{% endblock %} \ No newline at end of file diff --git a/src/templates/index.html b/src/templates/index.html index e01fe89..7bb3f7c 100644 --- a/src/templates/index.html +++ b/src/templates/index.html @@ -7,7 +7,7 @@

See your detailed profile statistic

diff --git a/src/templates/viewer.html b/src/templates/viewer.html index afdbd9e..af2b9af 100644 --- a/src/templates/viewer.html +++ b/src/templates/viewer.html @@ -1,12 +1,19 @@ {% extends "/include/template.html" %} -{% block title %}User {{user_cid}} statistic — VATSIM Fox{% endblock %} +{% block title %}User {{user["id"]}} statistic — VATSIM Fox{% endblock %} {% block header_css %} {% endblock %} {% block content %}
-

{{data[0]["id"]}}

+
+ +
+ +

{{user["id"]}}

Date of registration:

@@ -91,7 +98,7 @@
-

UUEE_DEL

+

Callsign

Start time: @@ -133,11 +140,11 @@ {% block javascript_code %} {% endblock %}