in keyper/__init__.py [0:0]
def default(password: str) -> "Keychain":
"""Get the default keychain for the current user."""
log.debug("Getting default keychain")
try:
default_keychain_path = subprocess.run(
["security", "default-keychain"],
universal_newlines=True,
check=True,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
).stdout
except subprocess.CalledProcessError as ex:
log.error(f"Failed to get default keychain: {ex}")
raise
# The output format looks like this:
# "/Users/dalemy/Library/Keychains/login.keychain-db"
# Remove whitespace
default_keychain_path = default_keychain_path.strip()
# Remove quotes
default_keychain_path = default_keychain_path[1:]
default_keychain_path = default_keychain_path[:-1]
return Keychain(default_keychain_path, password)