Fix output for ns-list and ns-op-list to show better info from record
[osm/osmclient.git] / osmclient / sol005 / user.py
index 2f635f0..6c10325 100644 (file)
@@ -23,12 +23,14 @@ from osmclient.common import utils
 from osmclient.common.exceptions import ClientException
 from osmclient.common.exceptions import NotFound
 import json
+import logging
 
 
 class User(object):
     def __init__(self, http=None, client=None):
         self._http = http
         self._client = client
+        self._logger = logging.getLogger('osmclient')
         self._apiName = '/admin'
         self._apiVersion = '/v1'
         self._apiResource = '/users'
@@ -38,6 +40,8 @@ class User(object):
     def create(self, name, user):
         """Creates a new OSM user
         """
+        self._logger.debug("")
+        self._client.get_token()
         if not user["projects"] or (len(user["projects"]) == 1 and not user["projects"][0]):
             del user["projects"]
         elif len(user["projects"]) == 1:
@@ -83,6 +87,8 @@ class User(object):
     def update(self, name, user):
         """Updates an existing OSM user identified by name
         """
+        self._logger.debug("")
+        self._client.get_token()
         # print(user)
         myuser = self.get(name)
         update_user = {
@@ -138,7 +144,7 @@ class User(object):
         if not update_user:
             raise ClientException("At least something should be changed.")
 
-        http_code, resp = self._http.put_cmd(endpoint='{}/{}'.format(self._apiBase, myuser['_id']),
+        http_code, resp = self._http.patch_cmd(endpoint='{}/{}'.format(self._apiBase, myuser['_id']),
                                              postfields_dict=update_user)
         # print('HTTP CODE: {}'.format(http_code))
         # print('RESP: {}'.format(resp))
@@ -163,6 +169,8 @@ class User(object):
     def delete(self, name, force=False):
         """Deletes an existing OSM user identified by name
         """
+        self._logger.debug("")
+        self._client.get_token()
         user = self.get(name)
         querystring = ''
         if force:
@@ -189,6 +197,8 @@ class User(object):
     def list(self, filter=None):
         """Returns the list of OSM users
         """
+        self._logger.debug("")
+        self._client.get_token()
         filter_string = ''
         if filter:
             filter_string = '?{}'.format(filter)
@@ -201,6 +211,8 @@ class User(object):
     def get(self, name):
         """Returns an OSM user based on name or id
         """
+        self._logger.debug("")
+        self._client.get_token()
         if utils.validate_uuid4(name):
             for user in self.list():
                 if name == user['_id']:
@@ -211,4 +223,3 @@ class User(object):
                     return user
         raise NotFound("User {} not found".format(name))
 
-