def __init__(self, remote): self.remote = remote self._curr = dict( line.split("=", 1) for line in self.remote._session.run( "env -0; echo")[1].split("\x00") if "=" in line) self._orig = self._curr.copy() BaseEnv.__init__(self, self.remote.path, ":")
def __init__(self, remote): self.remote = remote self._curr = dict( line.split("=", 1) for line in self.remote._session.run("env")[1].splitlines()) self._orig = self._curr.copy() BaseEnv.__init__(self, self.remote.path, ":")
def __init__(self, remote): self.remote = remote session = remote._session # GNU env has a -0 argument; use it if present. Otherwise, # fall back to calling printenv on each (possible) variable # from plain env. env0 = session.run("env -0; echo") if env0[0] == 0 and not env0[2].rstrip(): self._curr = dict(line.split("=", 1) for line in env0[1].split("\x00") if "=" in line) else: lines = session.run("env; echo")[1].splitlines() split = (line.split("=", 1) for line in lines) keys = (line[0] for line in split if len(line) > 1) runs = ((key, session.run('printenv "%s"; echo' % key)) for key in keys) self._curr = dict( (key, run[1].rstrip("\n")) for (key, run) in runs if run[0] == 0 and run[1].rstrip("\n") and not run[2] ) self._orig = self._curr.copy() BaseEnv.__init__(self, self.remote.path, ":")
def __init__(self, remote): self.remote = remote session = remote._session # GNU env has a -0 argument; use it if present. Otherwise, # fall back to calling printenv on each (possible) variable # from plain env. env0 = session.run("env -0; echo") if env0[0] == 0 and not env0[2].rstrip(): self._curr = dict( line.split('=', 1) for line in env0[1].split('\x00') if '=' in line) else: lines = session.run("env; echo")[1].splitlines() split = (line.split('=', 1) for line in lines) keys = (line[0] for line in split if len(line) > 1) runs = ((key, session.run('printenv "%s"; echo' % key)) for key in keys) self._curr = dict( (key, run[1].rstrip('\n')) for (key, run) in runs if run[0] == 0 and run[1].rstrip('\n') and not run[2]) self._orig = self._curr.copy() BaseEnv.__init__(self, self.remote.path, ":")
def __init__(self, remote): self.remote = remote self._curr = dict(line.split("=", 1) for line in self.remote._session.run("env")[1].splitlines()) self._orig = self._curr.copy() BaseEnv.__init__(self, self.remote.path, ":")
def __init__(self): # os.environ already takes care of upper'ing on windows self._curr = os.environ.copy() BaseEnv.__init__(self, LocalPath, os.path.pathsep) if IS_WIN32 and "HOME" not in self and self.home is not None: self["HOME"] = self.home
def pop(self, name, *default): BaseEnv.pop(self, name, *default) self.remote._session.run("unset %s" % (name, ))
def update(self, *args, **kwargs): BaseEnv.update(self, *args, **kwargs) self.remote._session.run("export " + " ".join("%s=%s" % (k, shquote(v)) for k, v in self.getdict().items()))
def __setitem__(self, name, value): BaseEnv.__setitem__(self, name, value) self.remote._session.run("export {}={}".format(name, shquote(value)))
def __setitem__(self, name, value): BaseEnv.__setitem__(self, name, value) self.remote._session.run("export %s=%s" % (name, shquote(value)))
def __delitem__(self, name): BaseEnv.__delitem__(self, name) self.remote._session.run("unset %s" % (name,))
def pop(self, name, *default): BaseEnv.pop(self, name, *default) self.remote._session.run("unset %s" % (name,))
def pop(self, name, *default): BaseEnv.pop(self, name, *default) self.remote._session.run("unset {}".format(name))
def update(self, *args, **kwargs): BaseEnv.update(self, *args, **kwargs) self.remote._session.run("export " + " ".join(f"{k}={shquote(v)}" for k, v in self.getdict().items()))
def pop(self, name, *default): BaseEnv.pop(self, name, *default) self.remote._session.run(f"unset {name}")
def __setitem__(self, name, value): BaseEnv.__setitem__(self, name, value) self.remote._session.run(f"export {name}={shquote(value)}")
def __delitem__(self, name): BaseEnv.__delitem__(self, name) self.remote._session.run(f"unset {name}")
def __delitem__(self, name): BaseEnv.__delitem__(self, name) self.remote._session.run("unset %s" % (name, ))
def __delitem__(self, name): BaseEnv.__delitem__(self, name) self.remote._session.run("unset {}".format(name))