install new addons func
parent
21bbc6c6b2
commit
435230aa6e
|
@ -48,3 +48,26 @@ def live_to_esoui(*, path: Path, esoui_uris: list):
|
||||||
logging.info(
|
logging.info(
|
||||||
f"{live_name} updated from {live_version} to {esoui_version} at {live_path}"
|
f"{live_name} updated from {live_version} to {esoui_version} at {live_path}"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def esoui_to_live(*, esoui_uris: list, live_path: Path):
|
||||||
|
for addon_name, version, esoui_dowload_uri in esoui_uris:
|
||||||
|
if addon_name in list(live_path.iterdir()):
|
||||||
|
logging.info(f"{addon_name} already installed.")
|
||||||
|
continue
|
||||||
|
|
||||||
|
response = requests.get(esoui_dowload_uri)
|
||||||
|
response.raise_for_status()
|
||||||
|
|
||||||
|
temp_dir = TemporaryDirectory()
|
||||||
|
temp_path = Path(temp_dir.name)
|
||||||
|
|
||||||
|
zip_file = ZipFile(BytesIO(response.content))
|
||||||
|
zip_file.extractall(temp_path)
|
||||||
|
|
||||||
|
live_dest = live_path.joinpath(each.name)
|
||||||
|
|
||||||
|
for each in temp_path.iterdir():
|
||||||
|
copytree(each, live_dest)
|
||||||
|
|
||||||
|
logging.info(f"{addon_name} installed {version} at {live_dest}")
|
||||||
|
|
|
@ -65,3 +65,5 @@ def periodical_script():
|
||||||
|
|
||||||
for child in live_path.iterdir():
|
for child in live_path.iterdir():
|
||||||
compare.live_to_esoui(path=child, esoui_uris=esoui_uris)
|
compare.live_to_esoui(path=child, esoui_uris=esoui_uris)
|
||||||
|
|
||||||
|
compare.esoui_to_live(esoui_uris=esoui_uris, live_path=live_path)
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
[build-system]
|
|
||||||
requires = ["poetry"]
|
|
||||||
build-backend = "poetry.masonry.api"
|
|
||||||
|
|
||||||
[tool.poetry]
|
|
||||||
authors = ["py <py@py>"]
|
|
||||||
description = ""
|
|
||||||
license = "MIT"
|
|
||||||
name = "eso-banana"
|
|
||||||
version = "0.0.1"
|
|
||||||
|
|
||||||
[[tool.poetry.packages]]
|
|
||||||
include = "banana"
|
|
||||||
|
|
||||||
[tool.poetry.scripts]
|
|
||||||
eso-banana-script = "banana:scripts.periodical_script"
|
|
||||||
|
|
||||||
[tool.poetry.dependencies]
|
|
||||||
packaging = ""
|
|
||||||
PyYAML = ""
|
|
||||||
requests = ""
|
|
Loading…
Reference in New Issue