Exemplo n.º 1
0
def detail_url(short_url):
    url = Url.query.filter_by(short_url=short_url).first()
    form = EditURLForm(obj=url)
    if form.validate_on_submit():
        new_short_url = form.short_url.data
        if Url.short_url_exists(new_short_url) and short_url != new_short_url:
            flash("Short url is already in use.")
            return redirect(url_for("main.detail_url",
                                    short_url=url.short_url))
        url.short_url = new_short_url
        url.element_text = form.element_text.data
        return redirect(url_for("main.detail_url", short_url=url.short_url))
    return render_template("detail_url.html", url=url, form=form)
Exemplo n.º 2
0
def index():
    urls = Url.query.all()
    form = URLForm()
    if form.validate_on_submit():
        full_url = form.full_url.data
        short_url = form.short_url.data
        if Url.short_url_exists(short_url):
            flash("Short url is already exist. Try another one.")
            return redirect(url_for("main.index"))
        new_url = Url(full_url=full_url, clicks=0, created=datetime.today())
        element_text = new_url.check_url()
        if not element_text:
            flash("Check url!!! Failed request %s" % new_url.full_url)
            return redirect(url_for("main.index"))
        new_url.element_text = element_text
        db.session.add(new_url)
        db.session.commit()
        new_url.store_short_url(short_url)
        flash("Your url has been created successfully.")
        return redirect(url_for("main.index"))

    return render_template("index.html", urls=urls, form=form)