diff options
| -rw-r--r-- | obsapi/core.py | 41 |
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) |
