Merge pull request #1824 from ilvalle/fix_urllib

Fix py3 urllib quote_plus
This commit is contained in:
mdipierro
2018-01-07 18:34:42 -06:00
committed by GitHub
3 changed files with 10 additions and 8 deletions
+4 -1
View File
@@ -10,6 +10,10 @@ environment:
COVERAGE_PROCESS_START: gluon/tests/coverage.ini COVERAGE_PROCESS_START: gluon/tests/coverage.ini
PYTHON_ARCH: "64" PYTHON_ARCH: "64"
- PYTHON: "C:/Python36"
COVERAGE_PROCESS_START: gluon/tests/coverage.ini
PYTHON_ARCH: "64"
clone_depth: 50 clone_depth: 50
init: init:
@@ -20,7 +24,6 @@ install:
- python -m ensurepip - python -m ensurepip
- pip install codecov - pip install codecov
- git submodule update --init --recursive - git submodule update --init --recursive
- pip install pycrypto
# Check that we have the expected version and architecture for Python # Check that we have the expected version and architecture for Python
- "python --version" - "python --version"
- "python -c \"import struct; print(struct.calcsize('P') * 8)\"" - "python -c \"import struct; print(struct.calcsize('P') * 8)\""
+2 -2
View File
@@ -26,7 +26,7 @@ if PY2:
from email.MIMEText import MIMEText from email.MIMEText import MIMEText
from email.Charset import add_charset, QP as charset_QP from email.Charset import add_charset, QP as charset_QP
from urllib import FancyURLopener, urlencode, urlopen from urllib import FancyURLopener, urlencode, urlopen
from urllib import quote as urllib_quote, unquote as urllib_unquote from urllib import quote as urllib_quote, unquote as urllib_unquote, quote_plus as urllib_quote_plus
from string import maketrans from string import maketrans
from types import ClassType from types import ClassType
import cgi import cgi
@@ -96,7 +96,7 @@ else:
from email.header import Header from email.header import Header
from email.charset import Charset, add_charset, QP as charset_QP from email.charset import Charset, add_charset, QP as charset_QP
from urllib.request import FancyURLopener, urlopen from urllib.request import FancyURLopener, urlopen
from urllib.parse import quote as urllib_quote, unquote as urllib_unquote, urlencode from urllib.parse import quote as urllib_quote, unquote as urllib_unquote, urlencode, quote_plus as urllib_quote_plus
from http import cookiejar as cookielib from http import cookiejar as cookielib
from xmlrpc.client import ProtocolError from xmlrpc.client import ProtocolError
import html # warning, this is the python3 module and not the web2py html module import html # warning, this is the python3 module and not the web2py html module
+4 -5
View File
@@ -22,12 +22,11 @@ import re
import logging import logging
import traceback import traceback
import threading import threading
import urllib
from gluon.storage import Storage, List from gluon.storage import Storage, List
from gluon.http import HTTP from gluon.http import HTTP
from gluon.fileutils import abspath, read_file from gluon.fileutils import abspath, read_file
from gluon.settings import global_settings from gluon.settings import global_settings
from gluon._compat import urllib_unquote, urllib_quote, iteritems, xrange from gluon._compat import urllib_unquote, urllib_quote, iteritems, xrange, urllib_quote_plus
isdir = os.path.isdir isdir = os.path.isdir
isfile = os.path.isfile isfile = os.path.isfile
@@ -235,7 +234,7 @@ def try_rewrite_on_error(http_response, request, environ, ticket=None):
path_info, query_string = uri, '' path_info, query_string = uri, ''
query_string += \ query_string += \
'code=%s&ticket=%s&requested_uri=%s&request_url=%s' % \ 'code=%s&ticket=%s&requested_uri=%s&request_url=%s' % \
(status, ticket, urllib.quote_plus( (status, ticket, urllib_quote_plus(
request.env.request_uri), request.url) request.env.request_uri), request.url)
if uri.startswith('http://') or uri.startswith('https://'): if uri.startswith('http://') or uri.startswith('https://'):
# make up a response # make up a response
@@ -270,12 +269,12 @@ def try_redirect_on_error(http_object, request, ticket=None):
elif '?' in redir: elif '?' in redir:
url = '%s&code=%s&ticket=%s&requested_uri=%s&request_url=%s' % \ url = '%s&code=%s&ticket=%s&requested_uri=%s&request_url=%s' % \
(redir, status, ticket, (redir, status, ticket,
urllib.quote_plus(request.env.request_uri), urllib_quote_plus(request.env.request_uri),
request.url) request.url)
else: else:
url = '%s?code=%s&ticket=%s&requested_uri=%s&request_url=%s' % \ url = '%s?code=%s&ticket=%s&requested_uri=%s&request_url=%s' % \
(redir, status, ticket, (redir, status, ticket,
urllib.quote_plus(request.env.request_uri), urllib_quote_plus(request.env.request_uri),
request.url) request.url)
return HTTP(303, 'You are being redirected <a href="%s">here</a>' % url, Location=url) return HTTP(303, 'You are being redirected <a href="%s">here</a>' % url, Location=url)
return http_object return http_object