Exemple #1
0
 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, ":")
Exemple #2
0
 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, ":")
Exemple #3
0
 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, ":")
Exemple #4
0
 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, ":")
Exemple #5
0
 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, ":")
Exemple #6
0
 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
Exemple #7
0
 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
Exemple #8
0
 def pop(self, name, *default):
     BaseEnv.pop(self, name, *default)
     self.remote._session.run("unset %s" % (name, ))
Exemple #9
0
 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()))
Exemple #10
0
 def __setitem__(self, name, value):
     BaseEnv.__setitem__(self, name, value)
     self.remote._session.run("export {}={}".format(name, shquote(value)))
Exemple #11
0
 def __setitem__(self, name, value):
     BaseEnv.__setitem__(self, name, value)
     self.remote._session.run("export %s=%s" % (name, shquote(value)))
Exemple #12
0
 def __delitem__(self, name):
     BaseEnv.__delitem__(self, name)
     self.remote._session.run("unset %s" % (name,))
Exemple #13
0
 def pop(self, name, *default):
     BaseEnv.pop(self, name, *default)
     self.remote._session.run("unset %s" % (name,))
Exemple #14
0
 def pop(self, name, *default):
     BaseEnv.pop(self, name, *default)
     self.remote._session.run("unset {}".format(name))
Exemple #15
0
 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()))
Exemple #16
0
 def pop(self, name, *default):
     BaseEnv.pop(self, name, *default)
     self.remote._session.run(f"unset {name}")
Exemple #17
0
 def __setitem__(self, name, value):
     BaseEnv.__setitem__(self, name, value)
     self.remote._session.run(f"export {name}={shquote(value)}")
Exemple #18
0
 def __delitem__(self, name):
     BaseEnv.__delitem__(self, name)
     self.remote._session.run(f"unset {name}")
Exemple #19
0
 def __setitem__(self, name, value):
     BaseEnv.__setitem__(self, name, value)
     self.remote._session.run("export %s=%s" % (name, shquote(value)))
Exemple #20
0
 def __delitem__(self, name):
     BaseEnv.__delitem__(self, name)
     self.remote._session.run("unset %s" % (name, ))
Exemple #21
0
 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()))
Exemple #22
0
 def __delitem__(self, name):
     BaseEnv.__delitem__(self, name)
     self.remote._session.run("unset {}".format(name))