From 9c0360e2e8ef81402e3ed8747c1e2a8360e64a10 Mon Sep 17 00:00:00 2001 From: Olivier Date: Sun, 1 Nov 2020 20:19:09 +0000 Subject: [PATCH] Make docker optional --- scone/default/utensils/docker_utensils.py | 14 +++++++++----- setup.py | 4 +++- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/scone/default/utensils/docker_utensils.py b/scone/default/utensils/docker_utensils.py index 495ac3d..7830d17 100644 --- a/scone/default/utensils/docker_utensils.py +++ b/scone/default/utensils/docker_utensils.py @@ -1,7 +1,11 @@ from typing import Optional import attr -import docker.errors + +try: + import docker.errors +except ImportError: + docker = None from scone.common.chanpro import Channel from scone.sous import Utensil @@ -67,7 +71,7 @@ class DockerImagePull(Utensil): @attr.s(auto_attribs=True) class DockerVolumeCreate(Utensil): name: str - + @attr.s(auto_attribs=True) class Result: name: str @@ -79,7 +83,7 @@ class DockerVolumeCreate(Utensil): # the docker server returned an error await channel.send(None) return - + await channel.send(DockerVolumeCreate.Result(name=volume.name)) @@ -91,7 +95,7 @@ class DockerNetworkCreate(Utensil): enable_ipv6: Optional[bool] attachable: Optional[bool] ingress: Optional[bool] - + @attr.s(auto_attribs=True) class Result: name: str @@ -110,5 +114,5 @@ class DockerNetworkCreate(Utensil): # the docker server returned an error await channel.send(None) return - + await channel.send(DockerContainerRun.Result(name=network.name)) diff --git a/setup.py b/setup.py index 6a27d19..af41020 100644 --- a/setup.py +++ b/setup.py @@ -53,7 +53,9 @@ EXTRAS = { ], "sous": EX_SOUS_ALL, "sous-core": EX_SOUS_BASE, - "sous-pg": EX_SOUS_PG + "sous-pg": EX_SOUS_PG, + + "docker": ["docker"] # TODO do this more properly if we can... } # The rest you shouldn't have to touch too much :)