diff --git a/src/pylorax/api/server.py b/src/pylorax/api/server.py index 3eca9df3..eb9b7435 100644 --- a/src/pylorax/api/server.py +++ b/src/pylorax/api/server.py @@ -14,11 +14,17 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . # +import logging +log = logging.getLogger("lorax-composer") + from collections import namedtuple -from flask import Flask +from flask import Flask, send_from_directory +from glob import glob +import os from pylorax.api.crossdomain import crossdomain from pylorax.api.v0 import v0_api +from pylorax.sysutils import joinpaths GitLock = namedtuple("GitLock", ["repo", "lock", "dir"]) @@ -31,4 +37,18 @@ __all__ = ["server", "GitLock"] def hello_world(): return 'Hello, World!' +@server.route("/api/docs/") +@server.route("/api/docs/") +def api_docs(path=None): + # Find the html docs + try: + docs_path = glob("/usr/share/doc/lorax-*/html/")[0] + except IndexError: + # This assumes it is running from the source tree + docs_path = os.path.abspath(joinpaths(os.path.dirname(__file__), "../../../docs/html")) + + if not path: + path="index.html" + return send_from_directory(docs_path, path) + v0_api(server)