Source code for fusionbox.fabric.utils

from contextlib import contextmanager as _contextmanager

from fabric.api import prefix, local, sudo


[docs]@_contextmanager def virtualenv(dir): """ Context manager to run all commands under the python virtual env at ``dir``. """ with prefix('source {0}/bin/activate'.format(dir)): yield
[docs]def files_changed(version, files): """ Checks if anything in ``files`` has changed between version and local HEAD. """ if not version: return True if not isinstance(files, basestring): files = ' '.join(files) return "diff" in local("git diff {0} HEAD -- {1}".format(version, files), capture=True)
[docs]def supervisor_command(action, name): """ Performs a command on a supervisor process. """ sudo('supervisorctl {0} {1}'.format(action, name))