in main.py [0:0]
def load_keys(project: str, is_podling: bool) -> gnupg.GPG:
"""Loads all keys found in KEYS files for a project and returns the GPG toolchain object holding said keys"""
project_dir = os.path.join(CFG["dist_dir"], project) if not is_podling else os.path.join(CFG["dist_dir"], "incubator", project)
project_gpg_dir = os.path.join(CFG["gpg_homedir"], project) if not is_podling else os.path.join(CFG["gpg_homedir"], "incubator", project)
assert project and os.path.isdir(project_dir), f"Project not specified or no project dist directory found for {project}!"
if not os.path.isdir(project_gpg_dir):
os.makedirs(project_gpg_dir, exist_ok=True)
keychain = gnupg.GPG(gnupghome=project_gpg_dir, use_agent=True)
for root, _dirs, files in os.walk(project_dir):
for filename in files:
filepath = os.path.join(root, filename)
if filename in ["KEYS", "KEYS.txt"]:
if "--quiet" not in sys.argv:
print(f"Loading {filepath} into toolchain")
keychain.import_keys(open(filepath, "rb").read())
return keychain