mirror of
https://github.com/openSUSE/osc.git
synced 2025-02-22 18:22:12 +01:00
39 lines
930 B
Python
39 lines
930 B
Python
|
import os
|
||
|
|
||
|
import osc.commandline_git
|
||
|
|
||
|
|
||
|
class SSHKeyAddCommand(osc.commandline_git.GitObsCommand):
|
||
|
"""
|
||
|
"""
|
||
|
|
||
|
name = "add"
|
||
|
parent = "SSHKeyCommand"
|
||
|
|
||
|
def init_arguments(self):
|
||
|
group = self.parser.add_mutually_exclusive_group(required=True)
|
||
|
group.add_argument(
|
||
|
"--key",
|
||
|
help="SSH public key",
|
||
|
)
|
||
|
group.add_argument(
|
||
|
"--key-path",
|
||
|
metavar="PATH",
|
||
|
help="Path to the SSH public key",
|
||
|
)
|
||
|
|
||
|
def run(self, args):
|
||
|
from osc import gitea_api
|
||
|
|
||
|
self.print_gitea_settings()
|
||
|
|
||
|
if args.key:
|
||
|
key = args.key
|
||
|
else:
|
||
|
with open(os.path.expanduser(args.key_path)) as f:
|
||
|
key = f.read().strip()
|
||
|
|
||
|
response = gitea_api.SSHKey.create(self.gitea_conn, key)
|
||
|
print("Added entry:")
|
||
|
print(gitea_api.SSHKey.to_human_readable_string(response.json()))
|