# HG changeset patch # User ymh # Date 1395423474 -3600 # Node ID cf6022f0062995c6cfc367ba0b5840591db30629 # Parent 8567f3a0b9cecf77a27b35a197e7063e4daa7adc improve egonomy url processing diff -r 8567f3a0b9ce -r cf6022f00629 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 }