Show More
@@ -18,7 +18,7 b'' | |||
|
18 | 18 | # RhodeCode Enterprise Edition, including its added features, Support services, |
|
19 | 19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
20 | 20 | |
|
21 | import urlparse | |
|
21 | import urllib.parse | |
|
22 | 22 | |
|
23 | 23 | import mock |
|
24 | 24 | import pytest |
@@ -147,7 +147,7 b' class TestLoginController(object):' | |||
|
147 | 147 | h.route_path('repo_summary', repo_name=HG_REPO, _query=kwargs), |
|
148 | 148 | status=302) |
|
149 | 149 | |
|
150 | response_query = urlparse.parse_qsl(response.location) | |
|
150 | response_query = urllib.parse.urlparse.parse_qsl(response.location) | |
|
151 | 151 | assert 'branch=stable' in response_query[0][1] |
|
152 | 152 | |
|
153 | 153 | def test_login_form_with_get_args(self): |
@@ -24,7 +24,7 b' import datetime' | |||
|
24 | 24 | import formencode |
|
25 | 25 | import formencode.htmlfill |
|
26 | 26 | import logging |
|
27 | import urlparse | |
|
27 | import urllib.parse | |
|
28 | 28 | import requests |
|
29 | 29 | |
|
30 | 30 | from pyramid.httpexceptions import HTTPFound |
@@ -90,7 +90,7 b' def store_user_in_session(session, usern' | |||
|
90 | 90 | |
|
91 | 91 | def get_came_from(request): |
|
92 | 92 | came_from = safe_str(request.GET.get('came_from', '')) |
|
93 | parsed = urlparse.urlparse(came_from) | |
|
93 | parsed = urllib.parse.urlparse.urlparse(came_from) | |
|
94 | 94 | allowed_schemes = ['http', 'https'] |
|
95 | 95 | default_came_from = h.route_path('home') |
|
96 | 96 | if parsed.scheme and parsed.scheme not in allowed_schemes: |
@@ -25,7 +25,7 b' import logging' | |||
|
25 | 25 | import signal |
|
26 | 26 | import tempfile |
|
27 | 27 | from subprocess import Popen, PIPE |
|
28 | import urlparse | |
|
28 | import urllib.parse | |
|
29 | 29 | |
|
30 | 30 | from .base import VcsServer |
|
31 | 31 | |
@@ -202,7 +202,7 b' class SubversionTunnelWrapper(object):' | |||
|
202 | 202 | if not first_response: |
|
203 | 203 | return self.fail("Repository name cannot be extracted") |
|
204 | 204 | |
|
205 | url_parts = urlparse.urlparse(first_response['url']) | |
|
205 | url_parts = urllib.parse.urlparse.urlparse(first_response['url']) | |
|
206 | 206 | |
|
207 | 207 | self.server.repo_name = self._match_repo_name(url_parts.path.strip('/')) |
|
208 | 208 |
@@ -27,7 +27,7 b' import re' | |||
|
27 | 27 | import os |
|
28 | 28 | import lxml |
|
29 | 29 | import logging |
|
30 | import urlparse | |
|
30 | import urllib.parse | |
|
31 | 31 | import bleach |
|
32 | 32 | |
|
33 | 33 | from mako.lookup import TemplateLookup |
@@ -142,7 +142,7 b' def relative_path(path, request_path, is' | |||
|
142 | 142 | # skip data, anchor, invalid links |
|
143 | 143 | return path |
|
144 | 144 | |
|
145 | is_absolute = bool(urlparse.urlparse(path).netloc) | |
|
145 | is_absolute = bool(urllib.parse.urlparse.urlparse(path).netloc) | |
|
146 | 146 | if is_absolute: |
|
147 | 147 | return path |
|
148 | 148 |
@@ -25,7 +25,7 b" It's implemented with basic auth functio" | |||
|
25 | 25 | import os |
|
26 | 26 | import re |
|
27 | 27 | import logging |
|
28 | import urlparse | |
|
28 | import urllib.parse | |
|
29 | 29 | |
|
30 | 30 | import rhodecode |
|
31 | 31 | from rhodecode.lib import utils |
@@ -123,7 +123,7 b' class SimpleGit(simplevcs.SimpleVCS):' | |||
|
123 | 123 | path = environ['PATH_INFO'] |
|
124 | 124 | |
|
125 | 125 | if path.endswith('/info/refs'): |
|
126 | query = urlparse.parse_qs(environ['QUERY_STRING']) | |
|
126 | query = urllib.parse.urlparse.parse_qs(environ['QUERY_STRING']) | |
|
127 | 127 | service_cmd = query.get('service', [''])[0] |
|
128 | 128 | return self._ACTION_MAPPING.get(service_cmd, 'pull') |
|
129 | 129 |
@@ -24,7 +24,7 b' SimpleHG middleware for handling mercuri' | |||
|
24 | 24 | """ |
|
25 | 25 | |
|
26 | 26 | import logging |
|
27 | import urlparse | |
|
27 | import urllib.parse | |
|
28 | 28 | import urllib.request, urllib.parse, urllib.error |
|
29 | 29 | |
|
30 | 30 | from rhodecode.lib import utils |
@@ -135,7 +135,7 b' class SimpleHg(simplevcs.SimpleVCS):' | |||
|
135 | 135 | :param environ: |
|
136 | 136 | """ |
|
137 | 137 | default = 'push' |
|
138 | query = urlparse.parse_qs(environ['QUERY_STRING'], | |
|
138 | query = urllib.parse.urlparse.parse_qs(environ['QUERY_STRING'], | |
|
139 | 139 | keep_blank_values=True) |
|
140 | 140 | |
|
141 | 141 | if 'cmd' in query: |
@@ -21,7 +21,7 b'' | |||
|
21 | 21 | import base64 |
|
22 | 22 | import logging |
|
23 | 23 | import urllib.request, urllib.parse, urllib.error |
|
24 | import urlparse | |
|
24 | import urllib.parse | |
|
25 | 25 | |
|
26 | 26 | import requests |
|
27 | 27 | from pyramid.httpexceptions import HTTPNotAcceptable |
@@ -123,7 +123,7 b' class SimpleSvnApp(object):' | |||
|
123 | 123 | |
|
124 | 124 | def _get_url(self, svn_http_server, path): |
|
125 | 125 | svn_http_server_url = (svn_http_server or '').rstrip('/') |
|
126 | url_path = urlparse.urljoin(svn_http_server_url + '/', (path or '').lstrip('/')) | |
|
126 | url_path = urllib.parse.urlparse.urljoin(svn_http_server_url + '/', (path or '').lstrip('/')) | |
|
127 | 127 | url_path = urllib.parse.quote(url_path, safe="/:=~+!$,;'") |
|
128 | 128 | return url_path |
|
129 | 129 |
@@ -24,7 +24,7 b' Implementation of the scm_app interface ' | |||
|
24 | 24 | |
|
25 | 25 | import base64 |
|
26 | 26 | import logging |
|
27 | import urlparse | |
|
27 | import urllib.parse | |
|
28 | 28 | import wsgiref.util |
|
29 | 29 | |
|
30 | 30 | import msgpack |
@@ -111,7 +111,7 b' class VcsHttpProxy(object):' | |||
|
111 | 111 | |
|
112 | 112 | # Preserve the query string |
|
113 | 113 | url = self._url |
|
114 | url = urlparse.urljoin(url, self._repo_name) | |
|
114 | url = urllib.parse.urlparse.urljoin(url, self._repo_name) | |
|
115 | 115 | if environ.get('QUERY_STRING'): |
|
116 | 116 | url += '?' + environ['QUERY_STRING'] |
|
117 | 117 |
@@ -22,7 +22,7 b' import gzip' | |||
|
22 | 22 | import shutil |
|
23 | 23 | import logging |
|
24 | 24 | import tempfile |
|
25 | import urlparse | |
|
25 | import urllib.parse | |
|
26 | 26 | |
|
27 | 27 | from webob.exc import HTTPNotFound |
|
28 | 28 | |
@@ -61,7 +61,7 b' def is_hg(environ):' | |||
|
61 | 61 | http_accept = environ.get('HTTP_ACCEPT') |
|
62 | 62 | |
|
63 | 63 | if http_accept and http_accept.startswith('application/mercurial'): |
|
64 | query = urlparse.parse_qs(environ['QUERY_STRING']) | |
|
64 | query = urllib.parse.urlparse.parse_qs(environ['QUERY_STRING']) | |
|
65 | 65 | if 'cmd' in query: |
|
66 | 66 | is_hg_path = True |
|
67 | 67 |
@@ -27,7 +27,7 b' import logging' | |||
|
27 | 27 | import threading |
|
28 | 28 | import time |
|
29 | 29 | import urllib.request, urllib.error, urllib.parse |
|
30 | import urlparse | |
|
30 | import urllib.parse | |
|
31 | 31 | import uuid |
|
32 | 32 | import traceback |
|
33 | 33 | |
@@ -132,7 +132,7 b' def _streaming_remote_call(url, payload,' | |||
|
132 | 132 | |
|
133 | 133 | class ServiceConnection(object): |
|
134 | 134 | def __init__(self, server_and_port, backend_endpoint, session_factory): |
|
135 | self.url = urlparse.urljoin('http://%s' % server_and_port, backend_endpoint) | |
|
135 | self.url = urllib.parse.urlparse.urljoin('http://%s' % server_and_port, backend_endpoint) | |
|
136 | 136 | self._session_factory = session_factory |
|
137 | 137 | |
|
138 | 138 | def __getattr__(self, name): |
@@ -154,8 +154,8 b' class ServiceConnection(object):' | |||
|
154 | 154 | class RemoteVCSMaker(object): |
|
155 | 155 | |
|
156 | 156 | def __init__(self, server_and_port, backend_endpoint, backend_type, session_factory): |
|
157 | self.url = urlparse.urljoin('http://%s' % server_and_port, backend_endpoint) | |
|
158 | self.stream_url = urlparse.urljoin('http://%s' % server_and_port, backend_endpoint+'/stream') | |
|
157 | self.url = urllib.parse.urlparse.urljoin('http://%s' % server_and_port, backend_endpoint) | |
|
158 | self.stream_url = urllib.parse.urlparse.urljoin('http://%s' % server_and_port, backend_endpoint+'/stream') | |
|
159 | 159 | |
|
160 | 160 | self._session_factory = session_factory |
|
161 | 161 | self.backend_type = backend_type |
@@ -356,7 +356,7 b' class VcsHttpProxy(object):' | |||
|
356 | 356 | retries = Retry(total=5, connect=None, read=None, redirect=None) |
|
357 | 357 | |
|
358 | 358 | adapter = requests.adapters.HTTPAdapter(max_retries=retries) |
|
359 | self.base_url = urlparse.urljoin('http://%s' % server_and_port, backend_endpoint) | |
|
359 | self.base_url = urllib.parse.urlparse.urljoin('http://%s' % server_and_port, backend_endpoint) | |
|
360 | 360 | self.session = requests.Session() |
|
361 | 361 | self.session.mount('http://', adapter) |
|
362 | 362 |
@@ -21,7 +21,7 b'' | |||
|
21 | 21 | import logging |
|
22 | 22 | |
|
23 | 23 | import deform.widget |
|
24 |
from deform.widget import null, OptGroup |
|
|
24 | from deform.widget import null, OptGroup | |
|
25 | 25 | |
|
26 | 26 | log = logging.getLogger(__name__) |
|
27 | 27 | |
@@ -34,7 +34,7 b' def _normalize_choices(values):' | |||
|
34 | 34 | result.append(OptGroup(item.label, *normalized_options)) |
|
35 | 35 | else: |
|
36 | 36 | value, description, help_block = item |
|
37 |
if not isinstance(value, str |
|
|
37 | if not isinstance(value, str): | |
|
38 | 38 | value = str(value) |
|
39 | 39 | result.append((value, description, help_block)) |
|
40 | 40 | return result |
@@ -19,7 +19,7 b'' | |||
|
19 | 19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
20 | 20 | |
|
21 | 21 | import pytest |
|
22 | import urlparse | |
|
22 | import urllib.parse | |
|
23 | 23 | import mock |
|
24 | 24 | import simplejson as json |
|
25 | 25 | |
@@ -30,7 +30,7 b' import rhodecode.lib.middleware.simplegi' | |||
|
30 | 30 | |
|
31 | 31 | def get_environ(url, request_method): |
|
32 | 32 | """Construct a minimum WSGI environ based on the URL.""" |
|
33 | parsed_url = urlparse.urlparse(url) | |
|
33 | parsed_url = urllib.parse.urlparse.urlparse(url) | |
|
34 | 34 | environ = { |
|
35 | 35 | 'PATH_INFO': parsed_url.path, |
|
36 | 36 | 'QUERY_STRING': parsed_url.query, |
@@ -18,7 +18,7 b'' | |||
|
18 | 18 | # RhodeCode Enterprise Edition, including its added features, Support services, |
|
19 | 19 | # and proprietary license terms, please see https://rhodecode.com/licenses/ |
|
20 | 20 | |
|
21 | import urlparse | |
|
21 | import urllib.parse | |
|
22 | 22 | |
|
23 | 23 | import mock |
|
24 | 24 | import pytest |
@@ -31,7 +31,7 b' import rhodecode.lib.middleware.simplehg' | |||
|
31 | 31 | |
|
32 | 32 | def get_environ(url): |
|
33 | 33 | """Construct a minimum WSGI environ based on the URL.""" |
|
34 | parsed_url = urlparse.urlparse(url) | |
|
34 | parsed_url = urllib.parse.urlparse.urlparse(url) | |
|
35 | 35 | environ = { |
|
36 | 36 | 'PATH_INFO': parsed_url.path, |
|
37 | 37 | 'QUERY_STRING': parsed_url.query, |
@@ -27,11 +27,11 b' import tempfile' | |||
|
27 | 27 | import urllib.request, urllib.error, urllib.parse |
|
28 | 28 | from lxml.html import fromstring, tostring |
|
29 | 29 | from lxml.cssselect import CSSSelector |
|
30 | from urlparse import urlparse, parse_qsl | |
|
30 | import urllib.parse.urlparse | |
|
31 | 31 | from urllib.parse import unquote_plus |
|
32 | 32 | import webob |
|
33 | 33 | |
|
34 |
from webtest.app import TestResponse, TestApp |
|
|
34 | from webtest.app import TestResponse, TestApp | |
|
35 | 35 | from webtest.compat import print_stderr |
|
36 | 36 | |
|
37 | 37 | import pytest |
@@ -67,7 +67,7 b' class CustomTestResponse(TestResponse):' | |||
|
67 | 67 | if 'no' in kw: |
|
68 | 68 | no = kw['no'] |
|
69 | 69 | del kw['no'] |
|
70 |
if isinstance(no, str |
|
|
70 | if isinstance(no, str): | |
|
71 | 71 | no = [no] |
|
72 | 72 | else: |
|
73 | 73 | no = [] |
@@ -316,8 +316,8 b' class _Url(object):' | |||
|
316 | 316 | """ |
|
317 | 317 | |
|
318 | 318 | def __init__(self, url): |
|
319 | parts = urlparse(url) | |
|
320 | _query = frozenset(parse_qsl(parts.query)) | |
|
319 | parts = urllib.parse.urlparse(url) | |
|
320 | _query = frozenset(urllib.parse.parse_qsl(parts.query)) | |
|
321 | 321 | _path = unquote_plus(parts.path) |
|
322 | 322 | parts = parts._replace(query=_query, path=_path) |
|
323 | 323 | self.parts = parts |
General Comments 0
You need to be logged in to leave comments.
Login now