mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-06-28 12:08:08 -07:00
Signed-off-by: Victor Payno <vpayno+gentoo@gmail.com> Signed-off-by: Patrick McLean <chutzpah@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/14930 Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
60 lines
1.6 KiB
Diff
60 lines
1.6 KiB
Diff
diff --git a/docker/utils/utils.py b/docker/utils/utils.py
|
|
index 447760b..3996d08 100644
|
|
--- a/docker/utils/utils.py
|
|
+++ b/docker/utils/utils.py
|
|
@@ -17,10 +17,9 @@ from ..constants import DEFAULT_NPIPE
|
|
from ..constants import BYTE_UNITS
|
|
|
|
if six.PY2:
|
|
- from urllib import splitnport
|
|
from urlparse import urlparse
|
|
else:
|
|
- from urllib.parse import splitnport, urlparse
|
|
+ from urllib.parse import urlparse
|
|
|
|
|
|
def create_ipam_pool(*args, **kwargs):
|
|
@@ -278,7 +277,7 @@ def parse_host(addr, is_win32=False, tls=False):
|
|
if proto != 'ssh':
|
|
raise errors.DockerException(
|
|
'Invalid bind address format: port is required:'
|
|
- ' {}'.format(addr)
|
|
+ ' {}://{}'.format(proto, addr)
|
|
)
|
|
port = 22
|
|
|
|
@@ -295,6 +294,33 @@ def parse_host(addr, is_win32=False, tls=False):
|
|
return "{}://{}".format(proto, path).rstrip('/')
|
|
return '{0}://{1}:{2}{3}'.format(proto, host, port, path).rstrip('/')
|
|
|
|
+def splitnport(netloc):
|
|
+ import re
|
|
+
|
|
+ host_port_re1 = re.compile(r"^(.*):([0-9]*)$", re.DOTALL)
|
|
+ host_port_re2 = re.compile(r"^(.*)$", re.DOTALL)
|
|
+
|
|
+ host = None
|
|
+ port = None
|
|
+
|
|
+ match = host_port_re1.match(netloc)
|
|
+
|
|
+ if match:
|
|
+ host, port = match.groups()
|
|
+ else:
|
|
+ match = host_port_re2.match(netloc)
|
|
+ if match:
|
|
+ host = match.groups()[0]
|
|
+ port = None
|
|
+
|
|
+ if host == '':
|
|
+ host = None
|
|
+ if port == '':
|
|
+ port = None
|
|
+
|
|
+ port = int(port) if port else 0
|
|
+
|
|
+ return host, port or None
|
|
|
|
def parse_devices(devices):
|
|
device_list = []
|