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, }