Ejemplo n.º 1
0
def todo(request):
    salida = ""
    if request.method == "POST":
        nombre = request.POST["larga"]
        #pongo el http o https si hace falta
        if not nombre.startswith("http"):
            nombre = "http://" + nombre

        try:
            fila = Urls.objects.get(larga=nombre)
            salida += "<b>ERROR: la url '" + fila.larga + "' esta acortada ya en: " + str(fila.id) + "</b><br><br>"
        except Urls.DoesNotExist:
            salida += "Guardada correctamente la url '" + str(nombre) + "'<br><br>"
            #Guardo en la BD
            p = Urls(larga=nombre)
            p.save()
            
                           
    salida += "<form action='' method='POST'>\n"
    salida += "Url a acortar: <input type='text' name='larga'>"
    salida += '<input type="submit" value="Acortar"><br>'
    salida += "<br><hr>Estas son las urls acortadas:<ul>"
    lista = Urls.objects.all()
    for fila in lista:
        salida += "<li>" + str(fila.id) + "->" + fila.larga + " "
    salida += "</ul>"

    return HttpResponse(salida)
Ejemplo n.º 2
0
def acorta(request,resourceName):
    response = "welcome to urlshort" + "<br/>"
    urlsList = Urls.objects.all()
    response += getUrls(urlsList) + "<br/>"
    if request.method == 'POST':
        if request.POST['name'] == "":
            return HttpResponseBadRequest("EMPTY POST")
        elif not request.POST['name'].startswith("http://") and not request.POST['name'].startswith("https://"):
            page = "http://" + request.POST['name']
        newUrl = Urls(name=page)
        newUrl.save()
        response += "--Page: <a href=" + request.POST['name'] + ">" + request.POST['name'] + "</a></p>\n"
        response += "-- Url short: <a href=" + str(newUrl.id) + ">" +  str(newUrl.id) + "</a></p>" 
    elif request.method == 'GET':
        try:
            content = Urls.objects.get(name=resourceName)
            response += content.name
        except Urls.DoesNotExist:
            response += getform()
    return HttpResponse(response)
Ejemplo n.º 3
0
def formulario(request):
    salida = ""

    if request.method == "POST":
        if request.body == "":
            salida += "Error, debe escribir una url"
        else:
            cuerpo = request.body.split('valor=')[1]
            if cuerpo.find("http") == -1:
                cuerpo = "http://" + cuerpo
            else:
                cuerpo = cuerpo.replace('%3A%2F%2F', '://')
        try:
            fila = Urls.objects.get(larga=cuerpo)
        except Urls.DoesNotExist:
            fila = Urls(larga=cuerpo)
            fila.save()

        salida += "Url larga: " + "<a href='" + fila.larga
        salida += "'>" + fila.larga + "</a>" + "</br>"
        salida += "Url corta: " + "<a href='" + str(fila.id)
        salida += "'>" + str(fila.id) + "</a>" + "</br>"

    elif request.method == "GET":
        salida += '<form action="" method="POST">'
        salida += 'Introducir url : <input type="text" name="valor">'
        salida += '<input type="submit" value="Enviar">'
        salida += '</form>'

        lista = Urls.objects.all()
        salida += "</br></br>Las urls que hay son:<ul>"
        for fila in lista:
            salida += "<li> Url larga: " + fila.larga
            salida += "  -->  Url Corta: " + str(fila.id)
        salida += "</ul>"

    return HttpResponse(salida)
Ejemplo n.º 4
0
def shortener(url):
    hashed_url = hashlib.md5(url.encode()).hexdigest()[:8]
    Urls(hashed_url=hashed_url, full_url=url)
    short_url = f'{SERVER_URL}/{hashed_url}'
    return short_url