Files
flask_url_shortener/tiny0/token.py
T

20 lines
473 B
Python
Raw Normal View History

2020-07-20 16:00:36 +00:00
from tiny0.models import URL
2020-07-18 13:10:03 +00:00
from secrets import choice
2020-07-20 16:00:36 +00:00
# The characters used to generate the token
token_characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz_-"
2020-07-18 13:10:03 +00:00
2020-07-20 16:00:36 +00:00
def gen_valid_token():
while True:
# Generate a token
token = "".join(choice(token_characters) for i in range(8))
# If the token does not exists in the database
if not URL.query.filter_by(token=token).first():
# Break the loop
break
# Return the token
return token
2020-07-18 13:10:03 +00:00