X-Git-Url: http://git.veekun.com/zzz-floof.git/blobdiff_plain/c03a740f65ea24ba6567b0ef75f3785faae37d42..cb1976ef371904b45d7961212cd87595a9486284:/floof/lib/helpers.py diff --git a/floof/lib/helpers.py b/floof/lib/helpers.py index 84c3394..b4cac1f 100644 --- a/floof/lib/helpers.py +++ b/floof/lib/helpers.py @@ -8,6 +8,7 @@ available to Controllers. This module is available to both as 'h'. # from webhelpers.html.tags import checkbox, password from webhelpers import * from routes import url_for, redirect_to +from pylons import url # Scaffolding helper imports from webhelpers.html.tags import * @@ -21,7 +22,7 @@ def get_object_or_404(model, **kw): from pylons.controllers.util import abort """ Returns object, or raises a 404 Not Found is object is not in db. - Uses elixir-specific `get_by()` convenience function (see elixir source: + Uses elixir-specific `get_by()` convenience function (see elixir source: http://elixir.ematia.de/trac/browser/elixir/trunk/elixir/entity.py#L1082) Example: user = get_object_or_404(model.User, id = 1) """ @@ -30,3 +31,13 @@ def get_object_or_404(model, **kw): abort(404) return obj +def get_comment_owner_url(**route): + """Given a view route, returns the owner_url route parameter for generating + comment URLs. + """ + if 'owner_url' in route: + # We're already in a comments page. Reuse the existing owner URL + return route['owner_url'] + + # url() returns URLs beginning with a slash. We just need to strip it. + return url(**route)[1:]