diff options
author | Rosandra Cuello <rosandra.cuello@gmail.com> | 2011-11-16 21:49:59 -0400 |
---|---|---|
committer | Rosandra Cuello <rosandra.cuello@gmail.com> | 2011-11-16 21:49:59 -0400 |
commit | f40ced58a388b945c255e637e9a63233e8715cd2 (patch) | |
tree | 40f6b46689794963da84ed93aedd0f42881a605b /askbot/templatetags | |
parent | c91981b3f7b92e4fb51fd622c0074c57edf6cb42 (diff) | |
download | askbot-f40ced58a388b945c255e637e9a63233e8715cd2.tar.gz askbot-f40ced58a388b945c255e637e9a63233e8715cd2.tar.bz2 askbot-f40ced58a388b945c255e637e9a63233e8715cd2.zip |
Changes to url structure (still missing some parts).
Diffstat (limited to 'askbot/templatetags')
-rw-r--r-- | askbot/templatetags/extra_filters.py | 43 |
1 files changed, 31 insertions, 12 deletions
diff --git a/askbot/templatetags/extra_filters.py b/askbot/templatetags/extra_filters.py index 81776c6c..b6dee686 100644 --- a/askbot/templatetags/extra_filters.py +++ b/askbot/templatetags/extra_filters.py @@ -160,25 +160,44 @@ def absolute_value(number): @register.filter def replace_in_url(query_string, param): - type, value = param.split('=') - params = query_string.lstrip('?').split('&') + try: + type, value = param.split(':') + params = query_string.rstrip('/').split('/') + + for p in params: + if type in p: + params[params.index(p)] = param + + query_string = '/'.join(params)+'/' + except: + type, value = param.split('=') + params = query_string.lstrip('?').split('&') - for p in params: - if type in p: - params[params.index(p)] = param + for p in params: + if type in p: + params[params.index(p)] = param - query_string = "?"+'&'.join(params) + query_string = '?'+'&'.join(params) return query_string @register.filter def add_tag_to_url(query_string, param): if query_string: - params = query_string.lstrip('?').split('&') - + params = query_string.rstrip('/').split('/') + flag = False for p in params: - if param in p: - return '' - - return '&'+param + if p.startswith('tags:'): + flag = True + type, value = p.split(':') + values = value.split('+') + if param in values: + return query_string + else: + values.append(param) + params[params.index(p)] = 'tags:'+'+'.join(values) + if not flag: + params.append('tags:'+param) + query_string = '/'.join(params)+'/' + return query_string |