/
githubmirror
/
nbs
Обзор
Документация
Войти
/
githubmirror
/
nbs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
build/scripts/sky.py
43 строки
1 KB
qkrorlqr
generating ya.make files
23 июн 2023, 21:32
23 июн 2023, 21:32
af87d4a
Код
Авторство
О чём код?
import logging import os import subprocess import fetch_from class UnsupportedProtocolException(Exception): pass def executable_path(): return "/usr/local/bin/sky" def is_avaliable(): if not os.path.exists(executable_path()): return False try: subprocess.check_output([executable_path(), "--version"]) return True except subprocess.CalledProcessError: return False except OSError: return False def fetch(skynet_id, file_name, timeout=None): if not is_avaliable(): raise UnsupportedProtocolException("Skynet is not available") target_dir = os.path.abspath(fetch_from.uniq_string_generator()) os.mkdir(target_dir) cmd_args = [executable_path(), "get", "-N", "Backbone", "--user", "--wait", "--dir", target_dir, skynet_id] if timeout is not None: cmd_args += ["--timeout", str(timeout)] logging.info("Call skynet with args: %s", cmd_args) stdout = subprocess.check_output(cmd_args).strip() logging.debug("Skynet call with args %s is finished, result is %s", cmd_args, stdout) return os.path.join(target_dir, file_name)