Skip to content
Snippets Groups Projects
Commit 4bca2152 authored by Raphael Das Gupta's avatar Raphael Das Gupta
Browse files

refactoring: use furl instead of urllib.parse

parent d30f4267
No related branches found
No related tags found
1 merge request!854Feature/#780 return user to original page after email confirmation
from urllib.parse import urlsplit, urlunsplit, parse_qs, urlencode
from django.conf import settings
from django.contrib import messages
from django.core.cache import cache
......@@ -7,6 +5,7 @@ from django.core.mail import send_mail
from django.template.loader import render_to_string
from django.urls import reverse
from django.utils.translation import ugettext as _
from furl import furl
RATE_LIMIT_SECONDS = 30
......@@ -22,10 +21,9 @@ def send_email_confirmation(profile, request):
user_administrator_email = settings.OSMAXX['ACCOUNT_MANAGER_EMAIL']
token = profile.activation_key()
activation_base_uri = request.build_absolute_uri(reverse('profile:activation'))
uri_components = urlsplit(activation_base_uri)
query_dict = parse_qs(uri_components.query)
query_dict['token'] = token
token_url = urlunsplit(uri_components._replace(query=urlencode(query_dict)))
f = furl(activation_base_uri)
f.args['token'] = token
token_url = f.url
subject = render_to_string('profile/verification_email/subject.txt', context={}).strip()
subject = ''.join(subject.splitlines())
message = render_to_string(
......
......@@ -28,6 +28,7 @@ docutils==0.13.1 # via pyroma
dodgy==0.1.9 # via prospector
drf-extensions==0.3.1
flake8==3.3.0
furl==1.0.0
geoalchemy2==0.4.0
geometalab.drf-utm-zone-info==0.2.0
geometalab.osm-pbf-file-size-estimation-service==1.1.0
......@@ -49,6 +50,7 @@ mkdocs==0.16.3
multidict==2.1.4 # via yarl
numpy==1.12.1
oauthlib==2.0.2 # via requests-oauthlib, social-auth-core
orderedmultidict==0.7.11 # via furl
pep8-naming==0.4.1 # via prospector
pexpect==4.2.1 # via ipython
pickleshare==0.7.4 # via ipython
......@@ -96,7 +98,7 @@ scipy==0.19.0
selenium==3.4.1 # via pytest-selenium
setoptconf==0.2.0 # via prospector
simplegeneric==0.8.1 # via ipython
six==1.10.0 # via astroid, django-downloadview, django-environ, django-extensions, livereload, prompt-toolkit, pyhamcrest, pylint, requests-mock, social-auth-app-django, social-auth-core, sqlalchemy-utils, traitlets, vcrpy
six==1.10.0 # via astroid, django-downloadview, django-environ, django-extensions, furl, livereload, orderedmultidict, prompt-toolkit, pyhamcrest, pylint, requests-mock, social-auth-app-django, social-auth-core, sqlalchemy-utils, traitlets, vcrpy
social-auth-app-django==1.1.0 # via python-social-auth
social-auth-core==1.2.0 # via python-social-auth, social-auth-app-django
sqlalchemy-utils==0.32.14
......
......@@ -30,6 +30,7 @@ SQLAlchemy
SQLAlchemy-Utils
sqlalchemy-views
GeoAlchemy2
furl
# fallback for python < 3.5
scandir
......
......@@ -28,6 +28,7 @@ docutils==0.13.1 # via pyroma
dodgy==0.1.9 # via prospector
drf-extensions==0.3.1
flake8==3.3.0
furl==1.0.0
geoalchemy2==0.4.0
geometalab.drf-utm-zone-info==0.2.0
geometalab.osm-pbf-file-size-estimation-service==1.1.0
......@@ -49,6 +50,7 @@ mkdocs==0.16.3
multidict==2.1.4 # via yarl
numpy==1.12.1
oauthlib==2.0.2 # via requests-oauthlib, social-auth-core
orderedmultidict==0.7.11 # via furl
pep8-naming==0.4.1 # via prospector
pexpect==4.2.1 # via ipython
pickleshare==0.7.4 # via ipython
......@@ -94,7 +96,7 @@ scipy==0.19.0
selenium==3.4.1 # via pytest-selenium
setoptconf==0.2.0 # via prospector
simplegeneric==0.8.1 # via ipython
six==1.10.0 # via astroid, django-downloadview, django-environ, django-extensions, livereload, prompt-toolkit, pyhamcrest, pylint, requests-mock, social-auth-app-django, social-auth-core, sqlalchemy-utils, traitlets, vcrpy
six==1.10.0 # via astroid, django-downloadview, django-environ, django-extensions, furl, livereload, orderedmultidict, prompt-toolkit, pyhamcrest, pylint, requests-mock, social-auth-app-django, social-auth-core, sqlalchemy-utils, traitlets, vcrpy
social-auth-app-django==1.1.0 # via python-social-auth
social-auth-core==1.2.0 # via python-social-auth, social-auth-app-django
sqlalchemy-utils==0.32.14
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment