X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osmclient%2Fsol005%2Fproject.py;h=fe0f23c5fe3eec5fda0612a55baef19c26f791e2;hb=refs%2Fheads%2Ffeature5837;hp=5c5786cc58509d1534f0f21606e0b3190e1c9bc0;hpb=a63fb3c6887ecf8221e868e0c8d39d51319ea085;p=osm%2Fosmclient.git diff --git a/osmclient/sol005/project.py b/osmclient/sol005/project.py index 5c5786c..fe0f23c 100644 --- a/osmclient/sol005/project.py +++ b/osmclient/sol005/project.py @@ -38,6 +38,7 @@ 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) #print('HTTP CODE: {}'.format(http_code)) @@ -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.put_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,11 +84,12 @@ 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: @@ -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']: