routes.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import os
  2. import flask
  3. import pystache
  4. import lc.model as m
  5. import lc.request as r
  6. app = flask.Flask(__name__)
  7. loader = pystache.loader.Loader(extension="mustache", search_dirs=["templates"],)
  8. def render(name, **kwargs):
  9. '''Load and use a Mustache template from the project root'''
  10. template = loader.load_name(name)
  11. return pystache.Renderer().render(template, kwargs)
  12. @app.route("/")
  13. def index():
  14. return render('main', title='main', content='whoo')
  15. @app.route("/u", methods=["POST"])
  16. def create_user():
  17. print(flask.request.data)
  18. u = m.User.from_request(r.User.from_json(flask.request.data))
  19. return flask.redirect(u.base_url())
  20. @app.route("/u/<string:user>", methods=["GET", "POST"])
  21. def get_user(user):
  22. u = m.User.by_slug(user)
  23. return render('main', title=f'user {u.name}', content='stuff')
  24. @app.route("/u/<string:user>/l", methods=["POST"])
  25. def create_link(user):
  26. pass
  27. @app.route("/u/<string:user>/l/<string:link>", methods=["GET", "POST"])
  28. def link(user):
  29. pass
  30. @app.route("/u/<string:user>/t/<path:tag>")
  31. def get_tagged_links(user, tag):
  32. pass