mirror of
https://github.com/daylinmorgan/viv.git
synced 2025-01-02 22:00:43 -06:00
refactor: resuable method
This commit is contained in:
parent
182d99ca17
commit
5db225afea
1 changed files with 10 additions and 20 deletions
|
@ -56,7 +56,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.8b1-1-geefcabe-dev"
|
__version__ = "23.8b1-2-g182d99c-dev"
|
||||||
|
|
||||||
|
|
||||||
class Spinner:
|
class Spinner:
|
||||||
|
@ -943,6 +943,11 @@ class ViVenv:
|
||||||
verbose=bool(Env().viv_verbose),
|
verbose=bool(Env().viv_verbose),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def ensure(self) -> None:
|
||||||
|
if not self.loaded or Env().viv_force:
|
||||||
|
self.create()
|
||||||
|
self.install_pkgs()
|
||||||
|
|
||||||
def touch(self) -> None:
|
def touch(self) -> None:
|
||||||
self.meta.accessed = str(datetime.today())
|
self.meta.accessed = str(datetime.today())
|
||||||
|
|
||||||
|
@ -1060,9 +1065,7 @@ def use(*packages: str, track_exe: bool = False, name: str = "") -> Path:
|
||||||
"""
|
"""
|
||||||
|
|
||||||
vivenv = ViVenv([*list(packages), *Env().viv_spec], track_exe=track_exe, name=name)
|
vivenv = ViVenv([*list(packages), *Env().viv_spec], track_exe=track_exe, name=name)
|
||||||
if not vivenv.loaded or Env().viv_force:
|
vivenv.ensure()
|
||||||
vivenv.create()
|
|
||||||
vivenv.install_pkgs()
|
|
||||||
vivenv.meta.addfile(get_caller_path())
|
vivenv.meta.addfile(get_caller_path())
|
||||||
vivenv.meta.write()
|
vivenv.meta.write()
|
||||||
|
|
||||||
|
@ -1373,16 +1376,8 @@ class Viv:
|
||||||
|
|
||||||
spec = resolve_deps(reqs, requirements)
|
spec = resolve_deps(reqs, requirements)
|
||||||
if keep:
|
if keep:
|
||||||
# re-create env again since path's are hard-coded
|
|
||||||
vivenv = ViVenv(spec)
|
vivenv = ViVenv(spec)
|
||||||
|
vivenv.ensure()
|
||||||
if not vivenv.loaded or Env().viv_force:
|
|
||||||
vivenv.create()
|
|
||||||
vivenv.install_pkgs()
|
|
||||||
vivenv.meta.write()
|
|
||||||
else:
|
|
||||||
log.info("re-using existing vivenv")
|
|
||||||
|
|
||||||
vivenv.touch()
|
vivenv.touch()
|
||||||
vivenv.meta.write()
|
vivenv.meta.write()
|
||||||
|
|
||||||
|
@ -1706,10 +1701,7 @@ class Viv:
|
||||||
subprocess_run_quit([sys.executable, scriptpath, *rest])
|
subprocess_run_quit([sys.executable, scriptpath, *rest])
|
||||||
else:
|
else:
|
||||||
vivenv = ViVenv(spec + deps)
|
vivenv = ViVenv(spec + deps)
|
||||||
if not vivenv.loaded or Env().viv_force:
|
vivenv.ensure()
|
||||||
vivenv.create()
|
|
||||||
vivenv.install_pkgs()
|
|
||||||
|
|
||||||
vivenv.touch()
|
vivenv.touch()
|
||||||
vivenv.meta.write()
|
vivenv.meta.write()
|
||||||
subprocess_run_quit([vivenv.python, scriptpath, *rest])
|
subprocess_run_quit([vivenv.python, scriptpath, *rest])
|
||||||
|
@ -1741,9 +1733,7 @@ class Viv:
|
||||||
vivenv = ViVenv(spec)
|
vivenv = ViVenv(spec)
|
||||||
|
|
||||||
with vivenv.use(keep=keep):
|
with vivenv.use(keep=keep):
|
||||||
if not vivenv.loaded or Env().viv_force:
|
vivenv.ensure()
|
||||||
vivenv.create()
|
|
||||||
vivenv.install_pkgs()
|
|
||||||
vivenv.bin_exists(bin)
|
vivenv.bin_exists(bin)
|
||||||
|
|
||||||
# TODO: refactor this logic elsewhere
|
# TODO: refactor this logic elsewhere
|
||||||
|
|
Loading…
Reference in a new issue