summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--obsapi/core.py26
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)