def root_factory(request, user_id=None):
"""The factory function for the root context"""
# OK, this is the old code... I need to do better, but fix first.
from ..models import Discussion
if request.matchdict and 'discussion_id' in request.matchdict:
discussion_id = int(request.matchdict['discussion_id'])
discussion = Discussion.default_db.query(Discussion).get(discussion_id)
if not discussion:
raise HTTPNotFound("No discussion ID %d" % (discussion_id,))
return discussion
elif request.matchdict and 'discussion_slug' in request.matchdict:
discussion_slug = request.matchdict['discussion_slug']
discussion = Discussion.default_db.query(Discussion).filter_by(
slug=discussion_slug).first()
if not discussion:
raise HTTPNotFound("No discussion named %s" % (discussion_slug,))
return discussion
return app_root_factory(request, user_id)
评论列表
文章目录