Esempio n. 1
0
    def _call(self, *args, **kwargs):
        if self.method == "POST":
            form_data = self.request.form
            origin_url = form_data["origin_url"]

            if not validators.url(origin_url):
                raise ValidationError(
                    f"Not a valid url provided: {origin_url}")

            url, created = Url.get_or_create(origin=origin_url)

            if not created:
                url.redirect_count += 1
                url.save(only=[Url.redirect_count])

            return redirect(
                url_for("result",
                        uuid=url.uuid,
                        redirect_count=url.redirect_count))

        return render_template("main.html")