summaryrefslogtreecommitdiff
path: root/compose
diff options
context:
space:
mode:
authorAanand Prasad <aanand.prasad@gmail.com>2016-10-14 17:27:57 +0100
committerAanand Prasad <aanand.prasad@gmail.com>2016-10-14 17:31:21 +0100
commit8b383ad79571fd15e47c88dff71e2a4836bd3ffd (patch)
treeed40b3c42f0f912ae15648f6b6f33f260f504162 /compose
parente4bb9bde30655e9024d5453c5843e1f531a96485 (diff)
Refactor "docker not found" message generation, add Windows message
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
Diffstat (limited to 'compose')
-rw-r--r--compose/cli/errors.py38
-rw-r--r--compose/cli/utils.py5
2 files changed, 23 insertions, 20 deletions
diff --git a/compose/cli/errors.py b/compose/cli/errors.py
index f9a20b9e..4fdec08a 100644
--- a/compose/cli/errors.py
+++ b/compose/cli/errors.py
@@ -17,6 +17,7 @@ from .utils import call_silently
from .utils import is_docker_for_mac_installed
from .utils import is_mac
from .utils import is_ubuntu
+from .utils import is_windows
log = logging.getLogger(__name__)
@@ -90,11 +91,7 @@ def exit_with_error(msg):
def get_conn_error_message(url):
if call_silently(['which', 'docker']) != 0:
- if is_mac():
- return docker_not_found_mac
- if is_ubuntu():
- return docker_not_found_ubuntu
- return docker_not_found_generic
+ return docker_not_found_msg("Couldn't connect to Docker daemon.")
if is_docker_for_mac_installed():
return conn_error_docker_for_mac
if call_silently(['which', 'docker-machine']) == 0:
@@ -102,25 +99,26 @@ def get_conn_error_message(url):
return conn_error_generic.format(url=url)
-docker_not_found_mac = """
- Couldn't connect to Docker daemon. You might need to install Docker:
+def docker_not_found_msg(problem):
+ return "{} You might need to install Docker:\n\n{}".format(
+ problem, docker_install_url())
- https://docs.docker.com/engine/installation/mac/
-"""
-
-
-docker_not_found_ubuntu = """
- Couldn't connect to Docker daemon. You might need to install Docker:
-
- https://docs.docker.com/engine/installation/ubuntulinux/
-"""
+def docker_install_url():
+ if is_mac():
+ return docker_install_url_mac
+ elif is_ubuntu():
+ return docker_install_url_ubuntu
+ elif is_windows():
+ return docker_install_url_windows
+ else:
+ return docker_install_url_generic
-docker_not_found_generic = """
- Couldn't connect to Docker daemon. You might need to install Docker:
- https://docs.docker.com/engine/installation/
-"""
+docker_install_url_mac = "https://docs.docker.com/engine/installation/mac/"
+docker_install_url_ubuntu = "https://docs.docker.com/engine/installation/ubuntulinux/"
+docker_install_url_windows = "https://docs.docker.com/engine/installation/windows/"
+docker_install_url_generic = "https://docs.docker.com/engine/installation/"
conn_error_docker_machine = """
diff --git a/compose/cli/utils.py b/compose/cli/utils.py
index e10a3674..580bd1b0 100644
--- a/compose/cli/utils.py
+++ b/compose/cli/utils.py
@@ -11,6 +11,7 @@ import sys
import docker
import compose
+from ..const import IS_WINDOWS_PLATFORM
# WindowsError is not defined on non-win32 platforms. Avoid runtime errors by
# defining it as OSError (its parent class) if missing.
@@ -73,6 +74,10 @@ def is_ubuntu():
return platform.system() == 'Linux' and platform.linux_distribution()[0] == 'Ubuntu'
+def is_windows():
+ return IS_WINDOWS_PLATFORM
+
+
def get_version_info(scope):
versioninfo = 'docker-compose version {}, build {}'.format(
compose.__version__,