qrurls/views.py
author Tero Marttila <terom@fixme.fi>
Mon, 15 Jul 2013 02:43:35 +0300
changeset 5 8c15ae21309f
parent 2 e838dda048a6
child 6 e821a59bf3a7
permissions -rw-r--r--
fixbug published logic
from django.http import HttpResponse, HttpResponseRedirect, Http404
from django.utils import timezone

from qrurls.models import URL, URLItem

def shorturl (request, shorturl) :
    shorturl = shorturl.strip(' /')
    try :
        url = URL.objects.get(shorturl=shorturl)
    except URL.DoesNotExist :
        raise Http404()

    try :
        # most recent
        now = timezone.now()
        url_item = URLItem.objects.filter(shorturl=url, published__lt=now).order_by('-published')[0]
    except IndexError :
        raise Http404()
    
    return HttpResponseRedirect(url_item.get_absolute_url())