diff --git a/docker_push_ssh/cli.py b/docker_push_ssh/cli.py index 7ba09be..8a558d1 100644 --- a/docker_push_ssh/cli.py +++ b/docker_push_ssh/cli.py @@ -16,10 +16,8 @@ import socket import sys import time -import urllib2 -import httplib -from command import Command +from .command import Command def getLocalIp(): @@ -38,12 +36,16 @@ def waitForSshTunnelInit(retries=20, delay=1.0): for _ in range(retries): time.sleep(delay) - try: - response = urllib2.urlopen("http://localhost:5000/v2/", timeout=5) - except (socket.error, urllib2.URLError, httplib.BadStatusLine): - continue + sshCheckCommandResult = Command("docker", [ + "exec", + "docker-push-ssh-tunnel", + "wget", + "-O", "/dev/null", + "-q", + "http://localhost:5000/v2" + ]).environment_dict(os.environ).execute() - if response.getcode() == 200: + if not sshCheckCommandResult.failed(): return True return False diff --git a/docker_push_ssh/command.py b/docker_push_ssh/command.py index 743969f..b5ab6d3 100644 --- a/docker_push_ssh/command.py +++ b/docker_push_ssh/command.py @@ -38,7 +38,7 @@ def environment(self, key, value): return self def environment_dict(self, env_dict): - for key, value in env_dict.iteritems(): + for key, value in env_dict.items(): self.environment_variables[key] = value return self