summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Bahling <sbahling@suse.de>2016-02-20 20:22:58 +0100
committerScott Bahling <sbahling@suse.de>2016-02-20 20:22:58 +0100
commit815f038d8ebaa9a9a0dc2539cd547a98c042f001 (patch)
tree6119e09054e600506697ede39f5da276fbcfc817
parentf8ef4e18bc77d391aabff248fd7ee13a1303150e (diff)
downloadobsapi-815f038d8ebaa9a9a0dc2539cd547a98c042f001.tar.gz
obsapi-815f038d8ebaa9a9a0dc2539cd547a98c042f001.tar.xz
obsapi-815f038d8ebaa9a9a0dc2539cd547a98c042f001.zip
Implement __api_put and get/put meta methods
-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)