diff options
| author | Scott Bahling <sbahling@suse.com> | 2020-01-31 13:07:44 +0100 |
|---|---|---|
| committer | Scott Bahling <sbahling@suse.com> | 2020-01-31 13:07:44 +0100 |
| commit | c0f4c40a9261b62ee041d8c9c0261a8662bf6e8f (patch) | |
| tree | 2af28aa59cbaa667c23dc5b814f8a1e04d3df8dd | |
| parent | 4a59fed2f76cf1e02888e02d8066f0e0c22630d2 (diff) | |
| download | obsapi-c0f4c40a9261b62ee041d8c9c0261a8662bf6e8f.tar.gz obsapi-c0f4c40a9261b62ee041d8c9c0261a8662bf6e8f.tar.xz obsapi-c0f4c40a9261b62ee041d8c9c0261a8662bf6e8f.zip | |
Enhance lock and unlock commands
Use api 'cmd=lock' post parameter for locking.
| -rw-r--r-- | obsapi/core.py | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/obsapi/core.py b/obsapi/core.py index 8845016..cf2ec37 100644 --- a/obsapi/core.py +++ b/obsapi/core.py @@ -308,31 +308,23 @@ class ObsApi(object): return True return False - def lock(self, prj, pkg=None): - - xml = self.get_meta(prj, pkg) - meta = self.__xml2etree(xml) - if meta.tag not in ['project', 'package']: - if pkg: - raise Exception('Failed to lock package. %s/%s' % (prj, pkg)) - else: - raise Exception('Failed to lock project. %s' % prj) - + def lock(self, prj, pkg=None, comment=None): if self.locked(prj, pkg): - return 'Already Locked' + return - lock = etree.SubElement(meta, 'lock') - etree.SubElement(lock, 'enable') - r = self.put_meta(prj, pkg, etree.tostring(meta)) + if comment is None: + comment = 'Lock' - return r + return self.source.post(prj, pkg, cmd='lock', comment=comment) def unlock(self, prj, pkg=None, comment=None): if not self.locked(prj, pkg): return - comment = comment or 'Unlock' - self.source.post(prj, pkg, cmd='unlock', comment='Unlock') + if comment is None: + comment = 'Unlock' + + return self.source.post(prj, pkg, cmd='unlock', comment=comment) def get_users(self, prj, pkg=None, role=None): xml = self.get_meta(prj, pkg) |
