summaryrefslogtreecommitdiff
path: root/obsapi/core.py
diff options
context:
space:
mode:
Diffstat (limited to 'obsapi/core.py')
-rw-r--r--obsapi/core.py41
1 files changed, 39 insertions, 2 deletions
diff --git a/obsapi/core.py b/obsapi/core.py
index 2c84123..4028aa2 100644
--- a/obsapi/core.py
+++ b/obsapi/core.py
@@ -176,6 +176,17 @@ class ObsApi(object):
return r
+ def __api_put(self, api, data):
+
+ url = '{0}/{1}'.format(self.apiurl, api)
+ r = requests.put(url,
+ auth=self.auth,
+ data=data,
+ verify=self.verify_ssl)
+ self._response = r
+
+ return r
+
@property
def response(self):
'''Return requests response from last api query'''
@@ -195,10 +206,36 @@ class ObsApi(object):
return r.text
- def get_package_meta(self, prj, pkg):
- api = '/source/{}/{}/_meta'.format(prj, pkg)
+ def put_xml(self, api, data):
+ r = self.__api_put(api, data)
+ return r
+
+ def get_meta(self, prj, pkg=None):
+ if pkg is not None:
+ api = '/source/{}/{}/_meta'.format(prj, pkg)
+ else:
+ api = '/source/{}/_meta'.format(prj)
return self.get_xml(api)
+ def put_meta(self, prj, pkg=None, xml=None):
+ if pkg is not None:
+ api = '/source/{}/{}/_meta'.format(prj, pkg)
+ else:
+ api = '/source/{}/_meta'.format(prj)
+ return self.put_xml(api, data=xml)
+
+ def get_project_meta(self, prj):
+ return self.get_meta(prj)
+
+ def put_project_meta(self, prj, xml):
+ return self.put_meta(prj, xml)
+
+ def get_package_meta(self, prj, pkg):
+ return self.get_meta(prj, pkg)
+
+ def put_package_meta(self, prj, pkg, xml):
+ return self.put_meta(prj, pkg, xml)
+
def ls(self, prj=None, pkg=None):
if prj and pkg:
return self.package_ls(prj, pkg)