improve egonomy url processing
authorymh <ymh.work@gmail.com>
Fri, 21 Mar 2014 18:37:54 +0100
changeset 275 cf6022f00629
parent 274 8567f3a0b9ce
child 276 7a60beb425cc
improve egonomy url processing
src/egonomy/utils/context_processors.py
--- a/src/egonomy/utils/context_processors.py	Fri Mar 21 17:30:44 2014 +0100
+++ b/src/egonomy/utils/context_processors.py	Fri Mar 21 18:37:54 2014 +0100
@@ -2,12 +2,22 @@
 
 import egonomy
 from egonomy.auth import get_egonomy_token
+import urlparse
+import urllib
 
 
 def egonomy_context(request):
-    egonomy_url = getattr(settings, 'EGONOMY_URL', '#')
+    
+    egonomy_url = getattr(settings, 'EGONOMY_URL', '')
     egonomy_token = get_egonomy_token(request)
     egonomy_token_name = ( getattr(settings, 'EGONOMY_TOKEN_NAME', 'egonomytoken') or 'egonomytoken')
+    
+    if egonomy_url and egonomy_token and egonomy_token_name:
+        url_parts = list(urlparse.urlparse(egonomy_url))
+        url_params = urlparse.parse_qs(url_parts[4],keep_blank_values=True)
+        url_params[egonomy_token_name] = egonomy_token
+        url_parts[4] = urllib.urlencode(url_params, doseq=True)
+        egonomy_url = urlparse.urlunparse(url_parts)
 
-    return {'VERSION': egonomy.get_version(), 'EGONOMY_URL': "%s?%s=%s" % (egonomy_url, egonomy_token_name, egonomy_token) if egonomy_token else egonomy_url }
+    return {'VERSION': egonomy.get_version(), 'EGONOMY_URL': egonomy_url }