def install(self, package): really = whatsreal() for eggproxy in self.eggproxies: with settings(prefix(self.prefix), warn_only=True): res = really.sudo('pip install --index=%s %s' % (eggproxy, package)) if type(res) is not str and res.succeeded: return with settings(prefix(self.prefix)): really.sudo('pip install %s' % package)
def psql(filename, user='******', database='postgres'): """ Upload a script and execute it in the psql shell. """ really = whatsreal() really.put(filename, remote_tempdir) remote_file = basename(filename) really.run('psql -U %s -f /tmp/%s %s' % (user, remote_file, database)) really.run('rm %s' % remote_file)
def sudo(filename): """ Upload a script and execute it with sudo. """ really = whatsreal() really.put(filename, remote_tempdir) remote_file = remote_tempdir + '/' + basename(filename) really.run('chmod +x %s' % remote_file) really.sudo('%s' % remote_file) really.run('rm %s' % remote_file)
def user(filename): """ Upload and execute a script. """ really = whatsreal() really.put(filename, remote_tempdir) remote_file = remote_tempdir + '/' + basename(filename) really.run('chmod +x %s' % remote_file) really.run('%s' % remote_file) really.run('rm %s' % remote_file)
def run(self): really = whatsreal() really.put(self.configfile) really.sudo('mkdir -p %s' % dirname(self.destination)) really.sudo('mv -i %s %s' % (basename(self.configfile), self.destination))
def execute(self, stack=None): really = reality.whatsreal() run = getattr(really, self.run_func) with self.settings(): run(self.cmd)