From 13f294cae5e1f30e4f6c4fa6ce6c356d2bdcb236 Mon Sep 17 00:00:00 2001 From: Nicholas Charriere Date: Mon, 7 May 2018 08:21:07 -0700 Subject: [PATCH] Use werkzeug quote/unquote functions instead of urllib --- snappass/main.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/snappass/main.py b/snappass/main.py index 204090c..5cc3b77 100644 --- a/snappass/main.py +++ b/snappass/main.py @@ -1,11 +1,6 @@ import os import re import sys -# Support python2 and python3 quote import -try: - from urllib import quote, unquote -except ImportError: - from urllib.parse import quote, unquote import uuid import redis @@ -13,6 +8,8 @@ import redis from cryptography.fernet import Fernet from flask import abort, Flask, render_template, request from redis.exceptions import ConnectionError +from werkzeug.urls import url_quote_plus +from werkzeug.urls import url_unquote_plus SNEAKY_USER_AGENTS = ('Slackbot', 'facebookexternalhit', 'Twitterbot', @@ -170,7 +167,7 @@ def handle_password(): base_url = request.url_root else: base_url = request.url_root.replace("http://", "https://") - link = base_url + quote(token) + link = base_url + url_quote_plus(token) return render_template('confirm.html', password_link=link) @@ -178,7 +175,7 @@ def handle_password(): def show_password(password_key): if not request_is_valid(request): abort(404) - password_key = unquote(password_key) + password_key = url_unquote_plus(password_key) password = get_password(password_key) if not password: abort(404)