From b6de87bc0eae470342edd6b72950517aa025c454 Mon Sep 17 00:00:00 2001 From: Eibriel Date: Wed, 15 Apr 2015 09:52:06 -0300 Subject: [PATCH] Added User resource, catching errors on requests small fix --- attractsdk/__init__.py | 1 + attractsdk/api.py | 12 ++++++++++-- attractsdk/resource.py | 2 -- attractsdk/users.py | 12 ++++++++++++ 4 files changed, 23 insertions(+), 4 deletions(-) create mode 100755 attractsdk/users.py diff --git a/attractsdk/__init__.py b/attractsdk/__init__.py index a1fd9c1..600bca2 100644 --- a/attractsdk/__init__.py +++ b/attractsdk/__init__.py @@ -1,5 +1,6 @@ from .api import Api from .nodes import Node from .nodes import NodeType +from .users import User from .exceptions import ResourceNotFound, UnauthorizedAccess, MissingConfig from .config import __version__, __pypi_packagename__ diff --git a/attractsdk/api.py b/attractsdk/api.py index 5762449..249f5f9 100644 --- a/attractsdk/api.py +++ b/attractsdk/api.py @@ -124,8 +124,16 @@ class Api(object): """ response = requests.request(method, url, **kwargs) - # logging.info("Response[{0}]: {1}".format(response.status_code, response.reason)) - return self.handle_response(response, response.content.decode('utf-8')) + # logging.info("Response[{0}]: {1}".format(response.status_code, reisponse.reason)) + + try: + error = self.handle_response(response, + response.content.decode('utf-8')) + except: + print (response.content) + raise + + return error def handle_response(self, response, content): """Check HTTP response codes diff --git a/attractsdk/resource.py b/attractsdk/resource.py index 847ce6a..2bdce63 100644 --- a/attractsdk/resource.py +++ b/attractsdk/resource.py @@ -180,8 +180,6 @@ class Update(Resource): attributes.pop('_created') attributes.pop('_updated') attributes.pop('_links') - if 'parent' in attributes: - attributes.pop('parent') url = utils.join_url(self.path, str(self['_id'])) headers = utils.merge_dict( self.http_headers(), diff --git a/attractsdk/users.py b/attractsdk/users.py new file mode 100755 index 0000000..f481fcc --- /dev/null +++ b/attractsdk/users.py @@ -0,0 +1,12 @@ +from .resource import List +from .resource import Find +from .resource import Create +from .resource import Post +from .resource import Update +from .resource import Delete + + +class User(List, Find, Create, Post, Update, Delete): + """User class wrapping the REST nodes endpoint + """ + path = "users"