Switch to side-by-side view

--- a/Allura/allura/lib/helpers.py
+++ b/Allura/allura/lib/helpers.py
@@ -51,17 +51,17 @@
             setattr(obj, func.__name__, func)
     return patchem
 
-def urlquote(url):
-    try:
-        return urllib.quote(str(url))
+def urlquote(url, safe="/"):
+    try:
+        return urllib.quote(str(url), safe=safe)
     except UnicodeEncodeError:
-        return urllib.quote(url.encode('utf-8'))
-
-def urlquoteplus(url):
-    try:
-        return urllib.quote_plus(str(url))
+        return urllib.quote(url.encode('utf-8'), safe=safe)
+
+def urlquoteplus(url, safe=""):
+    try:
+        return urllib.quote_plus(str(url), safe=safe)
     except UnicodeEncodeError:
-        return urllib.quote_plus(url.encode('utf-8'))
+        return urllib.quote_plus(url.encode('utf-8'), safe=safe)
 
 def really_unicode(s):
     if s is None: return u''