Files
scrypted/server/python/plugin_volume.py
2024-11-21 14:53:16 -08:00

52 lines
1.2 KiB
Python

import os
from pathlib import Path
def get_scrypted_volume():
volume_dir = os.getenv("SCRYPTED_VOLUME") or Path.home() / ".scrypted" / "volume"
return str(volume_dir)
def get_plugins_volume():
volume = get_scrypted_volume()
plugins_volume = Path(volume) / "plugins"
return str(plugins_volume)
def get_plugin_volume(plugin_id):
volume = get_plugins_volume()
plugin_volume = Path(volume) / plugin_id
return str(plugin_volume)
def ensure_plugin_volume(plugin_id):
plugin_volume = get_plugin_volume(plugin_id)
try:
os.makedirs(plugin_volume, exist_ok=True)
except Exception as e:
pass
return plugin_volume
def create_adm_zip_hash(hash):
extract_version = "1-"
return extract_version + hash
def prep(plugin_volume, hash):
hash = create_adm_zip_hash(hash)
zip_filename = f"{hash}.zip"
zip_dir = os.path.join(plugin_volume, "zip")
zip_file = os.path.join(zip_dir, zip_filename)
unzipped_path = os.path.join(zip_dir, "unzipped")
zip_dir_tmp = zip_dir + ".tmp"
return {
"unzipped_path": unzipped_path,
"zip_filename": zip_filename,
"zip_dir": zip_dir,
"zip_file": zip_file,
"zip_dir_tmp": zip_dir_tmp,
}