# HG changeset patch # User Peter Sanchez # Date 1556157397 25200 # Wed Apr 24 18:56:37 2019 -0700 # Node ID 4ec152e9f81f446fb150f9843242bca50d175262 # Parent 67456eb82d26dc89d2b94594a750cf0b8307beed Updates for multiple hosts, aka, roles diff --git a/djeploy/__init__.py b/djeploy/__init__.py --- a/djeploy/__init__.py +++ b/djeploy/__init__.py @@ -81,6 +81,7 @@ def __init__(self, config_file='fabconfig.json'): self.config_file = config_file + self._space = None self.load_config() self._global_vars() @@ -125,3 +126,6 @@ if key_data and hasattr(self, 'load_{0}'.format(key)): func = getattr(self, 'load_{0}'.format(key)) func(key_data) + + # Set config object space + self.load_global({'_space': space}) diff --git a/djeploy/deploy.py b/djeploy/deploy.py --- a/djeploy/deploy.py +++ b/djeploy/deploy.py @@ -22,7 +22,11 @@ if command.is_local: opts['capture'] = True releases = command.run('ls -xt', **opts) - releases = [x.replace('/', '') for x in releases.split()] + if isinstance(releases, dict): + for k, v in releases.iteritems(): + releases[k] = [x.replace('/', '') for x in v.split()] + else: + releases = [x.replace('/', '') for x in releases.split()] return sorted(releases) diff --git a/djeploy/globals.py b/djeploy/globals.py --- a/djeploy/globals.py +++ b/djeploy/globals.py @@ -1,4 +1,5 @@ import os +from fabric.tasks import execute from fabric.colors import red as _red from fabric.contrib.files import exists as fab_exists from fabric.api import * @@ -97,7 +98,7 @@ tmp_fab_settings.update(fab_settings) if 'clear_after_run' in tmp_fab_settings: self._clear_settings = tmp_fab_settings.pop('clear_after_run') - + return tmp_fab_settings def get_settings(self, fab_settings): @@ -130,9 +131,9 @@ if fab_settings: a, k = self.get_settings(fab_settings) with settings(*a, **k): - output = cmd(*args, **kwargs) + output = execute(cmd, *args, **kwargs) else: - output = cmd(*args, **kwargs) + output = execute(cmd, *args, **kwargs) if self._clear_settings: self.clear_local_settings()