diff --git a/fig/__init__.py b/fig/__init__.py index 0eada41da..7194e1d9b 100644 --- a/fig/__init__.py +++ b/fig/__init__.py @@ -1,4 +1,4 @@ from __future__ import unicode_literals -from .service import Service +from .service import Service # noqa:flake8 __version__ = '0.5.1' diff --git a/fig/cli/command.py b/fig/cli/command.py index a07be7bdb..6efe83b62 100644 --- a/fig/cli/command.py +++ b/fig/cli/command.py @@ -8,7 +8,6 @@ import os import re import yaml from ..packages import six -import sys from ..project import Project from ..service import ConfigError @@ -19,6 +18,7 @@ from . import errors log = logging.getLogger(__name__) + class Command(DocoptCommand): base_dir = '.' diff --git a/fig/cli/main.py b/fig/cli/main.py index 3459e211f..1c9ff416a 100644 --- a/fig/cli/main.py +++ b/fig/cli/main.py @@ -281,13 +281,13 @@ class TopLevelCommand(Command): try: num = int(num) except ValueError: - raise UserError('Number of containers for service "%s" is not a number' % service) + raise UserError('Number of containers for service "%s" is not a ' + 'number' % service_name) try: self.project.get_service(service_name).scale(num) except CannotBeScaledError: raise UserError('Service "%s" cannot be scaled because it specifies a port on the host. If multiple containers for this service were created, the port would clash.\n\nRemove the ":" from the port definition in fig.yml so Docker can choose a random port for each container.' % service_name) - def start(self, options): """ Start existing containers. @@ -357,5 +357,6 @@ class TopLevelCommand(Command): print("Gracefully stopping... (press Ctrl+C again to force)") self.project.stop(service_names=service_names) + def list_containers(containers): return ", ".join(c.name for c in containers) diff --git a/fig/cli/utils.py b/fig/cli/utils.py index fb7533b9d..cc9435bcf 100644 --- a/fig/cli/utils.py +++ b/fig/cli/utils.py @@ -65,11 +65,11 @@ def prettydate(d): elif s < 120: return '1 minute ago' elif s < 3600: - return '{0} minutes ago'.format(s/60) + return '{0} minutes ago'.format(s / 60) elif s < 7200: return '1 hour ago' else: - return '{0} hours ago'.format(s/3600) + return '{0} hours ago'.format(s / 3600) def mkdir(path, permissions=0o700): @@ -103,8 +103,8 @@ def split_buffer(reader, separator): index = buffered.find(separator) if index == -1: break - yield buffered[:index+1] - buffered = buffered[index+1:] + yield buffered[:index + 1] + buffered = buffered[index + 1:] if len(buffered) > 0: yield buffered diff --git a/fig/container.py b/fig/container.py index e89e34b9f..e9bbd59d3 100644 --- a/fig/container.py +++ b/fig/container.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals from __future__ import absolute_import + class Container(object): """ Represents a Docker container, constructed from the output of diff --git a/fig/project.py b/fig/project.py index 9b3493c42..614b04899 100644 --- a/fig/project.py +++ b/fig/project.py @@ -38,6 +38,7 @@ def sort_service_dicts(services): return sorted_services + class Project(object): """ A collection of services. @@ -216,6 +217,6 @@ class ConfigurationError(Exception): def __str__(self): return self.msg + class DependencyError(ConfigurationError): pass - diff --git a/fig/service.py b/fig/service.py index 0045b873e..65bcf5197 100644 --- a/fig/service.py +++ b/fig/service.py @@ -132,7 +132,6 @@ class Service(object): self.remove_stopped() - def remove_stopped(self, **options): for c in self.containers(stopped=True): if not c.is_running: @@ -212,7 +211,7 @@ class Service(object): log.info("Starting %s..." % container.name) return self.start_container(container, **options) - def start_container(self, container=None, intermediate_container=None,**override_options): + def start_container(self, container=None, intermediate_container=None, **override_options): if container is None: container = self.create_container(**override_options) @@ -342,7 +341,7 @@ class Service(object): if 'environment' in container_options: if isinstance(container_options['environment'], list): container_options['environment'] = dict(split_env(e) for e in container_options['environment']) - container_options['environment'] = dict(resolve_env(k,v) for k,v in container_options['environment'].iteritems()) + container_options['environment'] = dict(resolve_env(k, v) for k, v in container_options['environment'].iteritems()) if self.can_be_built(): if len(self.client.images(name=self._build_tag_name())) == 0: @@ -459,13 +458,15 @@ def split_port(port): external_port = (external_ip,) return internal_port, external_port + def split_env(env): if '=' in env: return env.split('=', 1) else: return env, None -def resolve_env(key,val): + +def resolve_env(key, val): if val is not None: return key, val elif key in os.environ: diff --git a/requirements-dev.txt b/requirements-dev.txt index 8d4190056..d4631ab99 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -2,3 +2,4 @@ mock==1.0.1 nose==1.3.0 pyinstaller==2.1 unittest2 +flake8 diff --git a/tox.ini b/tox.ini index a99ce210f..d9907bf88 100644 --- a/tox.ini +++ b/tox.ini @@ -7,3 +7,9 @@ deps = -rrequirements-dev.txt commands = nosetests {posargs} + flake8 fig + +[flake8] +# ignore line-length for now +ignore = E501,E203 +exclude = fig/packages/