Start work on remote control passwords

This commit is contained in:
Kovid Goyal
2022-08-09 11:30:49 +05:30
parent 31be4f041e
commit e64b1ba67c
6 changed files with 65 additions and 18 deletions

View File

@@ -79,24 +79,27 @@ class ToCmdline:
self.override_env.update(override)
return self
def __call__(self, x: str) -> List[str]:
return list(
map(
lambda y: expandvars(
os.path.expanduser(y),
os.environ if self.override_env is None else self.override_env,
fallback_to_os_env=False
),
shlex.split(x)
def __call__(self, x: str, expand: bool = True) -> List[str]:
ans = shlex.split(x)
if expand:
ans = list(
map(
lambda y: expandvars(
os.path.expanduser(y),
os.environ if self.override_env is None else self.override_env,
fallback_to_os_env=False
),
ans
)
)
)
return ans
to_cmdline_implementation = ToCmdline()
def to_cmdline(x: str) -> List[str]:
return to_cmdline_implementation(x)
def to_cmdline(x: str, expand: bool = True) -> List[str]:
return to_cmdline_implementation(x, expand)
def python_string(text: str) -> str: