From 17838b61ab57e44ab6ea665428d4e359e60949d1 Mon Sep 17 00:00:00 2001 From: xemeds Date: Fri, 21 Aug 2020 10:22:01 +0300 Subject: [PATCH] Went back to each url generating a new token even if they already exist in the database --- tiny0/models.py | 2 +- tiny0/routes.py | 39 ++++++++------------------------------- 2 files changed, 9 insertions(+), 32 deletions(-) diff --git a/tiny0/models.py b/tiny0/models.py index 4326d1c..c52436f 100644 --- a/tiny0/models.py +++ b/tiny0/models.py @@ -3,7 +3,7 @@ from tiny0 import db class URL(db.Model): id = db.Column(db.Integer, primary_key=True) token = db.Column(db.String(6), index=True, unique=True, nullable=False) - url = db.Column(db.String(2000), index=True, unique=True, nullable=False) + url = db.Column(db.String(2000), nullable=False) def __repr__(self): return f"'{self.id}' '{self.token}' '{self.url}'" diff --git a/tiny0/routes.py b/tiny0/routes.py index b8c9bf5..700de53 100644 --- a/tiny0/routes.py +++ b/tiny0/routes.py @@ -13,40 +13,17 @@ def index(): # If the form was valid if form.validate_on_submit(): + # Generate a valid token + token = gen_valid_token() - # If the given url is a rick roll - if ("youtube.com/watch?v=dQw4w9WgXcQ" in form.url.data) or ("youtu.be/dQw4w9WgXcQ" in form.url.data): - # Generate a valid token - token = gen_valid_token() + # Add the token and the given url to the database + db.session.add(URL(token=token, url=form.url.data)) + db.session.commit() - # Add the token and the given url to the database - db.session.add(URL(token=token, url=form.url.data)) - db.session.commit() + # Return the url page with the shortened url + return render_template("url.html", url=WEBSITE_DOMAIN + "/" + token) - # Return the url page with the shortened url - return render_template("url.html", url=WEBSITE_DOMAIN + "/" + token) - - # Query the urls that are not a rick roll in the database - query = URL.query.filter_by(url=form.url.data).first() - - # If the url exists in the database - if query: - # Return the url page with the previously shortened url - return render_template("url.html", url=WEBSITE_DOMAIN + "/" + query.token) - - # Else if the url does not exist in the database - else: - # Generate a valid token - token = gen_valid_token() - - # Add the token and the given url to the database - db.session.add(URL(token=token, url=form.url.data)) - db.session.commit() - - # Return the url page with the shortened url - return render_template("url.html", url=WEBSITE_DOMAIN + "/" + token) - - # Else if the form was invalid or not submitted + # If the form was invalid or not submitted else: # Return the index page with the form return render_template("index.html", form=form)