Ejemplo n.º 1
0
# -*- coding: utf-8 -*-

from fabric import api as _fabric
from fabric.api import local, get, env, put
import cuisine as _cuisine

from revolver.decorator import inject_use_sudo

VERSION = '0.0.3'

env.sudo_forced = False
env.sudo_user = None

_run = _fabric.run
_sudo = _fabric.sudo
put = inject_use_sudo(put)

def run(*args, **kwargs):
    if not env.sudo_forced:
        return _run(*args, **kwargs)

    return sudo(*args, **kwargs)


def sudo(*args, **kwargs):
    if env.sudo_user:
        kwargs['user'] = env.sudo_user

    return _sudo(*args, **kwargs)

_fabric.run = _cuisine.run = run
Ejemplo n.º 2
0
from cuisine import file_attribs as attributes
from cuisine import file_attribs_get as attributes_get
from cuisine import file_ensure as ensure
from cuisine import file_is_file as exists
from cuisine import file_is_link as is_link
from cuisine import file_link as link
from cuisine import file_local_read as read_local
from cuisine import file_read as read
from cuisine import file_update as update
from cuisine import file_write as write
from fabric.contrib.files import append, comment, contains, sed, uncomment

from revolver import core
from revolver.decorator import inject_use_sudo

append = inject_use_sudo(append)
comment = inject_use_sudo(comment)
contains = inject_use_sudo(contains)
sed = inject_use_sudo(sed)
uncomment = inject_use_sudo(uncomment)
write = inject_use_sudo(write)


def temp(mode=None, owner=None, group=None):
    path = core.run('mktemp').stdout
    attributes(path, mode=mode, owner=owner, group=group)
    return path


def remove(location, recursive=False, force=True):
    force = force and '-f' or ''
Ejemplo n.º 3
0
def test_inject_use_sudo_with_forced_sudo():
    with ctx.sudo():
        assert decorator.inject_use_sudo(_use_sudo_dummy)()
Ejemplo n.º 4
0
def test_inject_use_sudo_does_nothing_if_argument_given():
    assert decorator.inject_use_sudo(_use_sudo_dummy)(use_sudo=True)
    assert not decorator.inject_use_sudo(_use_sudo_dummy)(use_sudo=False)
Ejemplo n.º 5
0
from cuisine import file_attribs_get as attributes_get
from cuisine import file_local_read as read_local
from cuisine import file_read as read
from cuisine import file_update as update
from cuisine import file_write as write
from fabric.contrib.files import append
from fabric.contrib.files import comment
from fabric.contrib.files import contains
from fabric.contrib.files import exists
from fabric.contrib.files import sed
from fabric.contrib.files import uncomment

from revolver.core import sudo, run
from revolver.decorator import inject_use_sudo

append = inject_use_sudo(append)
comment = inject_use_sudo(comment)
contains = inject_use_sudo(contains)
exists = inject_use_sudo(exists)
sed = inject_use_sudo(sed)
uncomment = inject_use_sudo(uncomment)

def remove(location, recursive=False, force=True):
    force = force and '-f' or ''
    recursive = recursive and '-r' or ''

    run('rm %s %s %s' % (force, recursive, location))

def copy(source, destination, force=True, mode=None, owner=None, group=None):
    force = force and '-f' or ''