diff options
Diffstat (limited to 'obsapi/core.py')
| -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) |
