示例#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, ":")
示例#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, ":")
示例#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, ":")
示例#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, ":")
示例#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, ":")
示例#6
0
文件: local.py 项目: henryiii/plumbum
 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
示例#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
示例#8
0
 def pop(self, name, *default):
     BaseEnv.pop(self, name, *default)
     self.remote._session.run("unset %s" % (name, ))
示例#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()))
示例#10
0
文件: remote.py 项目: IMULMUL/plumbum
 def __setitem__(self, name, value):
     BaseEnv.__setitem__(self, name, value)
     self.remote._session.run("export {}={}".format(name, shquote(value)))
示例#11
0
 def __setitem__(self, name, value):
     BaseEnv.__setitem__(self, name, value)
     self.remote._session.run("export %s=%s" % (name, shquote(value)))
示例#12
0
 def __delitem__(self, name):
     BaseEnv.__delitem__(self, name)
     self.remote._session.run("unset %s" % (name,))
示例#13
0
 def pop(self, name, *default):
     BaseEnv.pop(self, name, *default)
     self.remote._session.run("unset %s" % (name,))
示例#14
0
文件: remote.py 项目: IMULMUL/plumbum
 def pop(self, name, *default):
     BaseEnv.pop(self, name, *default)
     self.remote._session.run("unset {}".format(name))
示例#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()))
示例#16
0
 def pop(self, name, *default):
     BaseEnv.pop(self, name, *default)
     self.remote._session.run(f"unset {name}")
示例#17
0
 def __setitem__(self, name, value):
     BaseEnv.__setitem__(self, name, value)
     self.remote._session.run(f"export {name}={shquote(value)}")
示例#18
0
 def __delitem__(self, name):
     BaseEnv.__delitem__(self, name)
     self.remote._session.run(f"unset {name}")
示例#19
0
 def __setitem__(self, name, value):
     BaseEnv.__setitem__(self, name, value)
     self.remote._session.run("export %s=%s" % (name, shquote(value)))
示例#20
0
 def __delitem__(self, name):
     BaseEnv.__delitem__(self, name)
     self.remote._session.run("unset %s" % (name, ))
示例#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()))
示例#22
0
文件: remote.py 项目: IMULMUL/plumbum
 def __delitem__(self, name):
     BaseEnv.__delitem__(self, name)
     self.remote._session.run("unset {}".format(name))