diff options
| author | Scott Bahling <sbahling@suse.com> | 2020-02-01 00:58:43 +0100 |
|---|---|---|
| committer | Scott Bahling <sbahling@suse.com> | 2020-02-01 01:02:03 +0100 |
| commit | 267040ddaad2075bd24c5f82352a30fcb0eef212 (patch) | |
| tree | d94b52de4fb65960ad0fe6ca4d4a1ab3d2be742b /obsapi | |
| parent | 1087f40bd3935fa149e77cfebd55224857aa37a2 (diff) | |
| download | obsapi-267040ddaad2075bd24c5f82352a30fcb0eef212.tar.gz obsapi-267040ddaad2075bd24c5f82352a30fcb0eef212.tar.xz obsapi-267040ddaad2075bd24c5f82352a30fcb0eef212.zip | |
Add set_flag method
Diffstat (limited to 'obsapi')
| -rw-r--r-- | obsapi/core.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/obsapi/core.py b/obsapi/core.py index 45d19c6..748044c 100644 --- a/obsapi/core.py +++ b/obsapi/core.py @@ -393,3 +393,27 @@ class ObsApi(object): for srcfile in flist: if srcfile.name.endswith('.spec'): yield self.source.get(prj, pkg, srcfile.name) + + def set_flag(self, prj, pkg=None, flag=None): + if flag is None: + return None + + try: + flag_type = getattr(flag, 'flag', flag.get('flag', None)) + if flag_type is None: + raise Exception('Invalid flag type: None') + except AttributeError: + raise Exception('flag type %s missing get function' % type(flag)) + + status = getattr(flag, 'status', flag.get('status', 'enable')) + if status not in ['enable', 'disable']: + raise ValueError('flag status expected "enable" or "disable" got %s' % status) + + params = dict(cmd='set_flag', + flag=flag_type, + status=status, + repository=getattr(flag, 'repository', flag.get('repository', None)), + arch=getattr(flag, 'arch', flag.get('arch', None)), + ) + + return self.source.post(prj, pkg, **params) |
