mirror of
https://github.com/daylinmorgan/viv.git
synced 2024-12-22 10:40:44 -06:00
refactor: use standalone function for run and exit
This commit is contained in:
parent
821a335381
commit
9709c154e0
1 changed files with 10 additions and 13 deletions
|
@ -53,7 +53,7 @@ from typing import (
|
||||||
from urllib.error import HTTPError
|
from urllib.error import HTTPError
|
||||||
from urllib.request import urlopen
|
from urllib.request import urlopen
|
||||||
|
|
||||||
__version__ = "23.8a2-2-gd26c0b1-dev"
|
__version__ = "23.8a2-3-g821a335-dev"
|
||||||
|
|
||||||
|
|
||||||
class Spinner:
|
class Spinner:
|
||||||
|
@ -767,6 +767,11 @@ def subprocess_run(
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
|
|
||||||
|
def subprocess_run_quit(command: List[str], **kwargs: Any) -> None:
|
||||||
|
log.debug("executing subcmd:\n " + " ".join(map(str, command)))
|
||||||
|
sys.exit(subprocess.run(command, **kwargs).returncode)
|
||||||
|
|
||||||
|
|
||||||
def get_hash(spec: Tuple[str, ...] | List[str], track_exe: bool = False) -> str:
|
def get_hash(spec: Tuple[str, ...] | List[str], track_exe: bool = False) -> str:
|
||||||
"""generate a hash of package specifications
|
"""generate a hash of package specifications
|
||||||
|
|
||||||
|
@ -1635,11 +1640,7 @@ class Viv:
|
||||||
if viv_used:
|
if viv_used:
|
||||||
env.update({"VIV_SPEC": " ".join(f"'{req}'" for req in spec)})
|
env.update({"VIV_SPEC": " ".join(f"'{req}'" for req in spec)})
|
||||||
|
|
||||||
sys.exit(
|
subprocess_run_quit([sys.executable, scriptpath, *rest], env=env)
|
||||||
subprocess.run(
|
|
||||||
[sys.executable, scriptpath, *rest], env=env
|
|
||||||
).returncode
|
|
||||||
)
|
|
||||||
else:
|
else:
|
||||||
vivenv = ViVenv(spec + deps)
|
vivenv = ViVenv(spec + deps)
|
||||||
if not vivenv.loaded or Env().viv_force:
|
if not vivenv.loaded or Env().viv_force:
|
||||||
|
@ -1649,7 +1650,7 @@ class Viv:
|
||||||
vivenv.touch()
|
vivenv.touch()
|
||||||
vivenv.meta.write()
|
vivenv.meta.write()
|
||||||
|
|
||||||
sys.exit(subprocess.run([vivenv.python, scriptpath, *rest]).returncode)
|
subprocess_run_quit([vivenv.python, scriptpath, *rest])
|
||||||
|
|
||||||
def run(
|
def run(
|
||||||
self,
|
self,
|
||||||
|
@ -1688,11 +1689,7 @@ class Viv:
|
||||||
vivenv.create()
|
vivenv.create()
|
||||||
vivenv.install_pkgs()
|
vivenv.install_pkgs()
|
||||||
vivenv.bin_exists(bin)
|
vivenv.bin_exists(bin)
|
||||||
sys.exit(
|
subprocess_run_quit([vivenv.path / "bin" / bin, *rest])
|
||||||
subprocess.run(
|
|
||||||
[vivenv.path / "bin" / bin, *rest]
|
|
||||||
).returncode
|
|
||||||
)
|
|
||||||
else:
|
else:
|
||||||
vivenv.create()
|
vivenv.create()
|
||||||
vivenv.install_pkgs()
|
vivenv.install_pkgs()
|
||||||
|
@ -1700,7 +1697,7 @@ class Viv:
|
||||||
vivenv.touch()
|
vivenv.touch()
|
||||||
vivenv.meta.write()
|
vivenv.meta.write()
|
||||||
vivenv.bin_exists(bin)
|
vivenv.bin_exists(bin)
|
||||||
sys.exit(subprocess.run([vivenv.path / "bin" / bin, *rest]).returncode)
|
subprocess_run_quit([vivenv.path / "bin" / bin, *rest])
|
||||||
|
|
||||||
|
|
||||||
class Arg:
|
class Arg:
|
||||||
|
|
Loading…
Reference in a new issue