30 lines
No EOL
985 B
Python
30 lines
No EOL
985 B
Python
from urlparse import urlparse
|
|
from django.shortcuts import render, redirect
|
|
from django.http import Http404
|
|
from django.contrib import messages
|
|
from .models import Link, LinkForm
|
|
|
|
def catchall(request, id):
|
|
try:
|
|
link = Link.objects.get(id=id)
|
|
return redirect(link.url)
|
|
except:
|
|
parsed = urlparse(id)
|
|
if parsed.netloc:
|
|
link = Link(url=id)
|
|
link.save();
|
|
context = {'form': LinkForm}
|
|
request.session['short_url'] = "http://" + str(request.get_host()) + "/" + str(link.id)
|
|
return redirect('/')
|
|
raise Http404("Link does not exist")
|
|
|
|
def home(request):
|
|
context = {'form': LinkForm}
|
|
if 'short_url' in request.session:
|
|
context['short_url'] = request.session['short_url']
|
|
if 'url' in request.POST:
|
|
link = Link(url=request.POST['url'])
|
|
link.save();
|
|
request.session['short_url'] = "http://" + request.get_host() + "/" + link.id
|
|
return redirect('/')
|
|
return render(request, 'index.html', context) |