コード例 #1
0
ファイル: views.py プロジェクト: oppian/oppian
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))
コード例 #2
0
ファイル: views.py プロジェクト: arwelsh/palewi.re
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)
コード例 #3
0
ファイル: views.py プロジェクト: arizonat/LinkPriv-shortener
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))