def repo_exists(path, scope=None, prefix=None): """ Checks whether input is a known repo """ _init_spack() from spack.repository import Repo from spack.config import get_config from os.path import join cannon = repo_path(path) repos = get_config('repos', defaults('scope', scope)) repo = Repo(cannon) return repo.root in repos or path in repos
def add_repo(path, prefix=None, scope=None): """ Adds path to spack repos """ _init_spack() from collections import namedtuple from spack.repository import Repo from spack.config import get_config, update_config from spack.cmd import default_list_scope cannon = repo_path(path, prefix) repos = get_config('repos', defaults('scope', scope)) if not repos: repos = [] repo = Repo(cannon) if repo.root in repos or path in repos: return False repos.insert(0, cannon) update_config('repos', repos, defaults('scope', scope)) return True