Commit 545a7c20 authored by Kazuhiko Shiozaki's avatar Kazuhiko Shiozaki

py2/py3: stop using deprecated urllib.split* functions.

parent d1a6a688
......@@ -55,10 +55,7 @@ from Products.ERP5 import _dtmldir
from six.moves import xrange
from six.moves import cStringIO as StringIO
from six.moves.urllib.request import pathname2url, urlopen, urlretrieve
try:
from urllib import splittype
except ImportError: # six.PY3
from urllib.parse import splittype
from six.moves.urllib.parse import urlparse
from six.moves import urllib
import re
from xml.dom.minidom import parse
......@@ -385,7 +382,9 @@ class TemplateTool (BaseTool):
if id is None:
id = self.generateNewId()
urltype, path = splittype(url)
parsed_url = urlparse(url)
urltype = parsed_url.scheme
path = parsed_url.path
if WIN and urltype and '\\' in path:
urltype = None
path = url
......@@ -625,7 +624,9 @@ class TemplateTool (BaseTool):
#LOG('updateRepositoryBusiessTemplateList', 0,
# 'repository_list = %r' % (repository_list,))
for repository in repository_list:
urltype, url = splittype(repository)
parsed_url = urlparse(url)
urltype = parsed_url.scheme
path = parsed_url.path
if WIN and urltype and '\\' in url:
urltype = None
url = repository
......
......@@ -61,7 +61,7 @@ from Products.PythonScripts.PythonScript import PythonScript
from Products.ERP5Type.Accessor.Constant import PropertyGetter as ConstantGetter
from Products.ERP5Form.PreferenceTool import Priority
from zLOG import LOG, DEBUG
from Products.ERP5Type.Utils import convertToUpperCase
from Products.ERP5Type.Utils import convertToUpperCase, str2bytes
from Products.ERP5Type.tests.backportUnittest import SetupSiteError
from Products.ERP5Type.tests.utils import addUserToDeveloperRole
from Products.ERP5Type.tests.utils import parseListeningAddress
......@@ -590,17 +590,18 @@ class ERP5TypeTestCaseMixin(ProcessingNodeTestCase, PortalTestCase):
bt5_path_list += [os.path.join(path, "*") for path in bt5_path_list]
def search(path, template):
urltype, url = urllib.splittype(path + '/' + template)
if urltype == 'http':
host, selector = urllib.splithost(url)
user_passwd, host = urllib.splituser(host)
host = urllib.unquote(host)
h = httplib.HTTP(host)
parsed_url = six.moves.urllib.parse.urlparse(path + '/' + template)
if parsed_url.scheme == 'http':
user = parsed_url.username
password = parsed_url.password
host = parsed_url.hostname
selector = parsed_url.path
h = http_client.HTTP(host)
h.putrequest('HEAD', selector)
h.putheader('Host', host)
if user_passwd:
if user and passwd:
h.putheader('Authorization',
'Basic %s' % base64.b64encode(user_passwd).strip())
'Basic %s' % base64.b64encode(str2bytes('%s:%s' % (user, passwd))).strip())
h.endheaders()
errcode, errmsg, headers = h.getreply()
if errcode == 200:
......@@ -1313,7 +1314,7 @@ class ERP5TypeCommandLineTestCase(ERP5TypeTestCaseMixin):
sql = kw.get('erp5_sql_connection_string')
if sql:
app[portal_name]._setProperty('erp5_site_global_id',
base64.standard_b64encode(sql))
base64.standard_b64encode(str2bytes(sql)))
if not quiet:
ZopeTestCase._print('done (%.3fs)\n' % (time.time() - _start))
# Release locks
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment