From aecf29809febac30b0717740d8370aa840b239e3 Mon Sep 17 00:00:00 2001 From: "Paul R. Tagliamonte" Date: Sat, 9 Mar 2013 22:45:08 -0500 Subject: [PATCH] Madness. Madness. --- requirements-site.txt | 1 + site/app.hy | 10 ++++++++++ site/shim.py | 35 +++++++++++++++++++++++++++++++++++ site/templates/index.html | 0 4 files changed, 46 insertions(+) create mode 100644 requirements-site.txt create mode 100644 site/app.hy create mode 100644 site/shim.py create mode 100644 site/templates/index.html diff --git a/requirements-site.txt b/requirements-site.txt new file mode 100644 index 0000000..7e10602 --- /dev/null +++ b/requirements-site.txt @@ -0,0 +1 @@ +flask diff --git a/site/app.hy b/site/app.hy new file mode 100644 index 0000000..732dfbf --- /dev/null +++ b/site/app.hy @@ -0,0 +1,10 @@ +; + +(import-from flask + Flask render-template request) + + +(def app (Flask "__main__")) ; long story, needed hack + + +(route "/" [] (render-template "index.html")) diff --git a/site/shim.py b/site/shim.py new file mode 100644 index 0000000..3750cba --- /dev/null +++ b/site/shim.py @@ -0,0 +1,35 @@ +# + +import hy + +from hy.models.expression import HyExpression +from hy.models.symbol import HySymbol + +from hy.macros import macro + + +# (route "/" [] +# (render-template "index.html")) + +# (decorate-with (.route app "/") +# (defn index [] +# (render-template "index.html"))) + + +@macro("route") +def route_macro(tree): + tree.pop(0) + path = tree.pop(0) + tree.insert(0, HySymbol("fn")) + + return HyExpression([HySymbol("decorate_with"), + HyExpression([HySymbol(".route"), + HySymbol("app"), + path]), + tree]) + + +from app import app + +if __name__ == '__main__': + app.run(debug=True) diff --git a/site/templates/index.html b/site/templates/index.html new file mode 100644 index 0000000..e69de29