compose/fig/cli/command.py

39 lines
936 B
Python
Raw Normal View History

2013-12-11 15:25:32 +01:00
from docker import Client
import logging
import os
import re
2013-12-11 15:25:32 +01:00
import yaml
from ..project import Project
2013-12-11 15:25:32 +01:00
from .docopt_command import DocoptCommand
from .formatter import Formatter
from .utils import cached_property, mkdir
log = logging.getLogger(__name__)
class Command(DocoptCommand):
@cached_property
def client(self):
if os.environ.get('DOCKER_URL'):
return Client(os.environ['DOCKER_URL'])
else:
return Client()
@cached_property
def project(self):
2013-12-20 21:28:24 +01:00
config = yaml.load(open('fig.yml'))
return Project.from_config(self.project_name, config, self.client)
@cached_property
def project_name(self):
project = os.path.basename(os.getcwd())
project = re.sub(r'[^a-zA-Z0-9]', '', project)
if not project:
project = 'default'
return project
2013-12-11 15:25:32 +01:00
@cached_property
def formatter(self):
return Formatter()