def submit(request): """ View for submitting a URL """ if settings.SHORTENER_REQUIRES_LOGIN and not request.user.is_authenticated(): # TODO redirect to an error page raise Http404 url = None link_form = None if request.GET: link_form = LinkSubmitForm(request.GET) elif request.POST: link_form = LinkSubmitForm(request.POST) if link_form and link_form.is_valid(): url = link_form.cleaned_data['u'] link = None try: link = Link.objects.get(url = url) except Link.DoesNotExist: pass if link == None: new_link = Link(url = url) new_link.save() link = new_link values = default_values(request) values['link'] = link return render_to_response( 'url_shortener_submit_success.html', values, context_instance=RequestContext(request)) values = default_values(request, link_form=link_form) return render_to_response( 'url_shortener_submit_failed.html', values, context_instance=RequestContext(request))
def submit(request): """ View for submitting a URL """ if not request.user.is_authenticated(): # TODO redirect to an error page raise Http404 link_form = None if request.GET: link_form = LinkSubmitForm(request.GET) elif request.POST: link_form = LinkSubmitForm(request.POST) if link_form and link_form.is_valid(): url = link_form.cleaned_data['u'] link, created = Link.objects.get_or_create(url=url) return HttpResponse( simplejson.dumps({ "link": { "short_url": link.short_url(), "url": link.url, "date_submitted": dateformat(link.date_submitted, "N j, Y"), "usage_count": link.usage_count, }, "created": created, }), content_type='text/javascript' ) return HttpResponse(status=400)
def submit(request): #Allow link input to create shortened link. link_form = LinkSubmitForm(request.POST) print(request.POST); if link_form.is_valid(): url = link_form.cleaned_data['submitForm'] #Arg Parse urlPart = url.partition('?') args = urlPart[2].split('&') combinations = [] for i in range(0,len(args)+1): for perm in itertools.combinations(args,i): combinations.append(perm) print combinations count = 0 #Image Gen for c in combinations: urlCombination = urlPart[0]+"?" for arg in c: urlCombination = urlCombination + arg +"&" urlCombination = urlCombination[0:len(urlCombination)-1] webkit2png.generate_image(urlCombination, os.path.join(settings.PROJECT_ROOT, "media/ss_%d.png"%count)) count = count + 1 #Gets the shortened link if this url has been shortened already. If not, it makes a new one. link = None try: link = Link.objects.get(url = url) except Link.DoesNotExist: pass if link == None: new_link = Link(url = url) new_link.save() link = new_link return render_to_response('results.html', {"encodedLink": link.shortUrl(), "perm": simplejson.dumps(combinations)}, context_instance=RequestContext(request))