Example #1
0
def index():
    if request.method == 'POST':
        def gen():
            chars = string.ascii_letters + string.digits
            length = 5
            code = ''.join(choice(chars) for x in range(length))
            print("Checking", code)
            exists = db.session.query(
                db.exists().where(Url.new == code)).scalar()
            if not exists:
                print("Your new code is:", code)
                return code
        code = gen()
        while code is None:
            code = gen()

    if request.method == 'POST' and code is not None:
        form = UrlForm(request.form)
        if form.validate_on_submit():
            url = form.save_url(Url(new=code))
            db.session.add(url)
            db.session.commit()
            return render_template("success.html", code=code, old=url.old)
        else:
            print("Validation failed")
    else:
        form = UrlForm()
    return render_template("index.html", form=form)
Example #2
0
def index(request):
    if request.method == "POST":
        link = request.POST.get("link")
        short_link = ""

        alpha = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0']

        url = Url.objects.all()
        
        for i in url:
            if i.link == link:
                short_link = i.short_link
                break

        else:
            for i in range(1, 7):
                letters = random.randint(1, len(alpha) - 1)
                let = alpha[letters]
                short_link += let

            url = Url(link=link, short_link=short_link)
            url.save()

        new_url = "http://127.0.0.1:8000/" + short_link
        return render(request, "index.htm", {"new_url": new_url})

    return render(request, "index.htm")
Example #3
0
def index():
    def gen():
        chars = string.ascii_letters + string.digits
        length = 5
        code = ''.join(choice(chars) for x in range(length))
        exists = db.session.query(db.exists().where(Url.new == code)).scalar()
        if not exists:
            return code

    if request.method == 'POST':
        form = UrlForm(request.form)
        if form.validate():
            url = form.save_url(Url())

            if not url.new:
                code = gen()
                while code is None:
                    code = gen()
                url.new = code

            db.session.add(url)
            db.session.commit()
            return render_template("success.html", code=url.new, old=url.old)
    else:
        form = UrlForm()
    return render_template("index.html", form=form)
Example #4
0
def makeANewUrl(old):
    def gen():
        chars = string.ascii_letters + string.digits
        length = 5
        code = ''.join(choice(chars) for x in range(length))
        print("Checking", code)
        exists = db.session.query(db.exists().where(Url.new == code)).scalar()
        if not exists:
            print("Your new code is:", code)
            return code

    code = gen()
    while code is None:
        code = gen()

    if code is not None:
        addedurl = Url(new=code, old=old)
        db.session.add(addedurl)
        db.session.commit()
        return jsonify(Url=addedurl.serialize)