X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osmclient%2Fsol005%2Fproject.py;h=19a27c34c31de30fa45528b22a0f79871dcfe51a;hb=d8cf387ce15e74c4c13d966ecc146499e2c37684;hp=5179f2ecf6e93657a7271d6c2c8057bc15dfc64c;hpb=6991001536f5cd7b4bda5d9c95e09646048cf9f3;p=osm%2Fosmclient.git diff --git a/osmclient/sol005/project.py b/osmclient/sol005/project.py index 5179f2e..19a27c3 100644 --- a/osmclient/sol005/project.py +++ b/osmclient/sol005/project.py @@ -38,8 +38,9 @@ class Project(object): def create(self, name, project): """Creates a new OSM project """ + self._client.get_token() http_code, resp = self._http.post_cmd(endpoint=self._apiBase, - postfields_dict=project) + postfields_dict=project) #print('HTTP CODE: {}'.format(http_code)) #print('RESP: {}'.format(resp)) if http_code in (200, 201, 202, 204): @@ -58,21 +59,24 @@ class Project(object): msg = resp raise ClientException("failed to create project {} - {}".format(name, msg)) - def update(self, name, project): + def update(self, project, project_changes): """Updates an OSM project identified by name """ - proj = self.get(name) - http_code, resp = self._http.put_cmd(endpoint='{}/{}'.format(self._apiBase,proj['_id']), - postfields_dict=project) - #print('HTTP CODE: {}'.format(http_code)) - #print('RESP: {}'.format(resp)) - if http_code in (200, 201, 202, 204): + self._client.get_token() + proj = self.get(project) + http_code, resp = self._http.patch_cmd(endpoint='{}/{}'.format(self._apiBase, proj['_id']), + postfields_dict=project_changes) + # print('HTTP CODE: {}'.format(http_code)) + # print('RESP: {}'.format(resp)) + if http_code in (200, 201, 202): if resp: resp = json.loads(resp) if not resp or 'id' not in resp: raise ClientException('unexpected response from server - {}'.format( resp)) print(resp['id']) + elif http_code == 204: + print("Updated") else: msg = "" if resp: @@ -80,17 +84,18 @@ class Project(object): msg = json.loads(resp) except ValueError: msg = resp - raise ClientException("failed to update project {} - {}".format(name, msg)) + raise ClientException("failed to update project {} - {}".format(project, msg)) def delete(self, name, force=False): """Deletes an OSM project identified by name """ + self._client.get_token() project = self.get(name) querystring = '' if force: querystring = '?FORCE=True' http_code, resp = self._http.delete_cmd('{}/{}{}'.format(self._apiBase, - project['_id'], querystring)) + project['_id'], querystring)) #print('HTTP CODE: {}'.format(http_code)) #print('RESP: {}'.format(resp)) if http_code == 202: @@ -111,6 +116,7 @@ class Project(object): def list(self, filter=None): """Returns the list of OSM projects """ + self._client.get_token() filter_string = '' if filter: filter_string = '?{}'.format(filter) @@ -123,6 +129,7 @@ class Project(object): def get(self, name): """Returns a specific OSM project based on name or id """ + self._client.get_token() if utils.validate_uuid4(name): for proj in self.list(): if name == proj['_id']: