# coding: utf-8 # Author: Grizzly # # Views for litl. from django.shortcuts import render from django.http import HttpResponseRedirect from .settings import TEMPLATES, RANDOM_SLUG_LEN, UID_LEN from .models import Slug from .forms import SlugAddForm import random, string ensemble = string.ascii_letters + string.digits def index(request): """Display the home page of the site. TODO: Search and display the urls shortened by the user in the past. """ context = {} return render(request,'base.html',context) def AddSlug(request): """Display the form for creating a new slug. """ if request.method == 'POST': form = SlugAddForm(request.POST) if form.is_valid(): slug = form.save(commit=False) if slug.slug == '': slug.slug = ''.join(random.choice(ensemble) for _ in range(RANDOM_SLUG_LEN)) slug.uid = ''.join(random.choice(ensemble) for _ in range(UID_LEN)) slug.save() return HttpResponseRedirect('display/{}'.format(slug.slug)) else: form = SlugAddForm() return render(request,'add_slug.html',{'form':form}) def display(request, slug_got): slug = Slug.objects.filter(slug = slug_got).all() if slug.count()!=1: return render(request,'unknown.html',{'slug':slug_got}) else: context = {'slug':slug.get()} return render(request,'display.html',context) def redirect(request,slug_got): slug = Slug.objects.filter(slug = slug_got).all() if slug.count()!=1: return render(request,'unknown.html',{'slug':slug_got}) else: return HttpResponseRedirect(slug.get().destination)