diff options
Diffstat (limited to 'chimere/main/views.py')
-rw-r--r-- | chimere/main/views.py | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/chimere/main/views.py b/chimere/main/views.py index 52c0627..f065f2c 100644 --- a/chimere/main/views.py +++ b/chimere/main/views.py @@ -33,7 +33,7 @@ from django.core import serializers from chimere import settings from chimere.main.actions import actions from chimere.main.models import Category, SubCategory, PropertyModel, Marker, \ - Route, News, SimpleArea, Area, Color + Route, News, SimpleArea, Area, Color, TinyUrl from chimere.main.widgets import getMapJS, PointChooserWidget, \ RouteChooserWidget, URL_OSM_JS, URL_OSM_CSS @@ -53,7 +53,6 @@ def get_base_response(area_name=""): base_url += '/' base_url += area_name + '/' base_response_dct['extra_url'] = base_url - base_response_dct['area_name'] = area_name if settings.CSS_AREAS and area_name: base_response_dct['css_area'] = area_name + ".css" base_response_dct['area_name'] = area_name @@ -324,3 +323,26 @@ def getAvailableCategories(request, area=None, status='A', force=None): response_dct['sub_categories'] = subcategories return render_to_response('categories.html', response_dct) +def getTinyfiedUrl(request, area_name='', parameters=''): + ''' + Get the tinyfied version of parameters + ''' + try: + urn = TinyUrl.getUrnByParameters(parameters) + except: + return HttpResponse('no results') + response_dct = get_base_response(area_name) + url = settings.SERVER_URL + if url[-1] == '/': + url = url[:-1] + url += response_dct['extra_url'] + 'ty/' + urn + data = '{"urn": "%s", "url":"%s"}' % (urn, url) + return HttpResponse(data) + +def redirectFromTinyURN(request, area_name='', tiny_urn=''): + """ + Redirect from a tiny Urn + """ + parameters = '?' + TinyUrl.getParametersByUrn(tiny_urn) + response_dct = get_base_response(area_name) + return HttpResponseRedirect(response_dct['extra_url'] + parameters) |