You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
750 B
Python

"helper functions"
from flask import abort
def find_one_or_404(collection, **kwargs):
"""Find a single document or raise a 404.
This is like :meth:`~pymongo.collection.Collection.find_one`, but
rather than returning ``None``, cause a 404 Not Found HTTP status
on the request.
.. code-block:: python
usercollection = mydb['usercollection']
@app.route("/user/<username>")
def user_profile(username):
userfound = find_one_or_404(usercollection, {"_id": username})
return render_template("user.html",
user=userfound)
"""
found = collection.find_one(**kwargs)
if found is None:
abort(404)
return found