1
0
mirror of https://github.com/openSUSE/osc.git synced 2025-11-01 12:02:16 +01:00

Implement git-obs command with several subcommands

This commit is contained in:
2024-08-02 15:10:32 +02:00
parent 0d28997595
commit 7e52a4a050
20 changed files with 545 additions and 12 deletions

View File

@@ -128,11 +128,15 @@ class Config:
def add_login(self, login: Login):
data = self._read()
# print("DDD", data)
data.setdefault("logins", [])
for i in data["logins"]:
if i.get("name", None) == login.name:
for entry in data["logins"]:
if entry.get("name", None) == login.name:
raise Login.AlreadyExists(login.name)
else:
if login.default:
entry.pop("default", None)
data["logins"].append(login.dict())
self._write(data)
@@ -169,15 +173,19 @@ class Config:
login.token = new_token
if new_ssh_key is not None:
login.ssh_key = new_ssh_key
if set_as_default:
login.default = True
if not login.has_changed():
return login
data = self._read()
for num, entry in enumerate(data["logins"]):
for entry in data["logins"]:
if entry.get("name", None) == name:
data["logins"][num].update(login.dict())
self._write(data)
entry.update(login.dict())
else:
if set_as_default:
entry.pop("default", None)
self._write(data)
return login
# TODO: set_as_default