Skip to content

Commit 859d517

Browse files
committed
Adding load api operation. (intercom#32)
1 parent a102bad commit 859d517

File tree

5 files changed

+22
-4
lines changed

5 files changed

+22
-4
lines changed

intercom/api_operations/load.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
from intercom import Intercom
2+
from intercom import utils
3+
4+
5+
class Load(object):
6+
7+
@classmethod
8+
def load(cls, **params):
9+
collection = utils.resource_class_to_collection_name(cls)
10+
if 'id' in params:
11+
response = Intercom.get("/%s/%s" % (collection, params['id']))
12+
else:
13+
raise "Cannot load #{class} as it does not have a valid id."
14+
return cls(**response)

intercom/company.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
from intercom.user import Resource
22
from intercom.api_operations.count import Count
33
from intercom.api_operations.find import Find
4+
from intercom.api_operations.load import Load
45

56

6-
class Company(Resource, Find, Count):
7+
class Company(Resource, Count, Find, Load):
78
pass

intercom/conversation.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from intercom.user import Resource
22
from intercom.api_operations.find import Find
3+
from intercom.api_operations.load import Load
34

45

5-
class Conversation(Resource, Find):
6+
class Conversation(Resource, Find, Load):
67
pass

intercom/note.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
from intercom.user import Resource
22
from intercom.api_operations.find import Find
33
from intercom.api_operations.save import Save
4+
from intercom.api_operations.load import Load
45

56

6-
class Note(Resource, Find, Save):
7+
class Note(Resource, Find, Load, Save):
78
pass

intercom/user.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@
33
from intercom.api_operations.delete import Delete
44
from intercom.api_operations.find import Find
55
from intercom.api_operations.find_all import FindAll
6+
from intercom.api_operations.load import Load
67
from intercom.api_operations.save import Save
78
from intercom.traits.api_resource import Resource
89
from intercom.traits.incrementable_attributes import IncrementableAttributes
910

1011

11-
class User(Resource, Find, FindAll, All, Count, Save, Delete,
12+
class User(Resource, Find, FindAll, All, Count, Load, Save, Delete,
1213
IncrementableAttributes):
1314

1415
@property

0 commit comments

Comments
 (0)