diff --git a/aprsd/flask.py b/aprsd/flask.py new file mode 100644 index 0000000..ee32071 --- /dev/null +++ b/aprsd/flask.py @@ -0,0 +1,37 @@ +import datetime +import json + +import aprsd +from aprsd import messaging +import flask +import flask_classful + + +class APRSDFlask(flask_classful.FlaskView): + config = None + + def set_config(self, config): + self.config = config + + def index(self): + return "Hello" + # return flask.render_template("index.html", message=msg) + + def stats(self): + track = messaging.MsgTrack() + uptime = datetime.datetime.now() - track._start_time + stats = { + "version": aprsd.__version__, + "uptime": str(uptime), + "size_tracker": len(track), + } + return json.dumps(stats) + + +def init_flask(config): + flask_app = flask.Flask("aprsd") + server = APRSDFlask() + server.set_config(config) + # flask_app.route('/', methods=['GET'])(server.index) + flask_app.route("/stats", methods=["GET"])(server.stats) + return flask_app diff --git a/aprsd/templates/index.html b/aprsd/templates/index.html new file mode 100644 index 0000000..dc09bc0 --- /dev/null +++ b/aprsd/templates/index.html @@ -0,0 +1,4 @@ + + +

{{ message }}

+ diff --git a/docs/apidoc/aprsd.rst b/docs/apidoc/aprsd.rst index d3c74fa..45de7ac 100644 --- a/docs/apidoc/aprsd.rst +++ b/docs/apidoc/aprsd.rst @@ -23,6 +23,14 @@ aprsd.client module aprsd.dev module ---------------- +.. automodule:: aprsd.dev + :members: + :undoc-members: + :show-inheritance: + +aprsd.dev module +---------------- + .. automodule:: aprsd.dev :members: :undoc-members: @@ -44,6 +52,14 @@ aprsd.fake\_aprs module :undoc-members: :show-inheritance: +aprsd.flask module +------------------ + +.. automodule:: aprsd.flask + :members: + :undoc-members: + :show-inheritance: + aprsd.fuzzyclock module ----------------------- @@ -79,6 +95,14 @@ aprsd.plugin module aprsd.plugin\_utils module -------------------------- +.. automodule:: aprsd.plugin_utils + :members: + :undoc-members: + :show-inheritance: + +aprsd.plugin\_utils module +-------------------------- + .. automodule:: aprsd.plugin_utils :members: :undoc-members: