Test suite runs and passes!
[zzz-floof.git] / floof / lib / helpers.py
index 1c2f0c1..9fbfa7d 100644 (file)
@@ -8,16 +8,19 @@ 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
+from pylons import config, url
 
 # Scaffolding helper imports
 from webhelpers.html.tags import *
-from webhelpers.html import literal
+from webhelpers.html.tools import *
+from webhelpers.html import HTML, literal
 from webhelpers.pylonslib import Flash
 import sqlalchemy.types as types
 flash = Flash()
 # End of.
 
+from floof.lib import file_storage as storage
+
 def get_object_or_404(model, **kw):
     from pylons.controllers.util import abort
     """
@@ -34,6 +37,14 @@ def get_object_or_404(model, **kw):
 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:]
+
+def storage_url(prefix, identifier):
+    """Returns a URL for the given object-in-storage."""
+    return storage.get_path(prefix, identifier)