diff --git a/src/sipcentric/__init__.py b/src/sipcentric/__init__.py index 3251f03..25c4c9e 100644 --- a/src/sipcentric/__init__.py +++ b/src/sipcentric/__init__.py @@ -159,7 +159,10 @@ class APIObject(object): raise ValueError( "%s ID %d already created" % (self.__class__.__name__, self.id) ) - self.data.update(**kwargs) + if self._data: + self._data.update(**kwargs) + else: + self._data = kwargs if not self._data: raise ValueError("No data associated with record.") return self._create(parent=parent,data=self._data) @@ -277,7 +280,10 @@ class Customer(APIObject): def create(self, parent=None, **kwargs): if parent: raise ValueError("Customer cannot have a parent") - self.data.update(**kwargs) + if self._data: + self._data.update(**kwargs) + else: + self._data = kwargs for k in ("accountType", "company", "firstName", "lastName", "email", "address1", "city", "postcode", "telephone"): if k not in self._data: raise ValueError('missing mandatory field "%s"' % k) @@ -330,38 +336,47 @@ class MailboxEndpoint(Endpoint): class PhoneNumber(APIObject): URLPART = "phonenumbers" + TYPE = "did" class Call(APIObject): URLPART = "calls" + TYPE = "call" class CallBundle(APIObject): URLPART = "callbundles" + TYPE = "customerbundle" class Recording(APIObject): URLPART = "recordings" + TYPE = "recording" class PhoneBook(APIObject): URLPART = "phonebook" + TYPE = "phonebookentry" class TimeInterval(APIObject): URLPART = "timeintervals" + TYPE = "XXX" class Sound(APIObject): URLPART = "sounds" + TYPE = "music" class OutgoingCallerId(APIObject): URLPART = "outgoingcallerids" + TYPE = "outgoingcallerid" class CreditStatus(APIObject): URLPART = "creditstatus" + TYPE = "XXX" class LinkedUser(APIObject): @@ -369,7 +384,10 @@ class LinkedUser(APIObject): TYPE = "linkeduser" def create(self, parent, **kwargs): - self.data.update(**kwargs) + if self._data: + self._data.update(**kwargs) + else: + self._data = kwargs for k in ("activateUrl", "email", "recordingAccess", "owner", "enabled"): if k not in self._data: raise ValueError('missing mandatory field "%s"' % k) @@ -378,6 +396,7 @@ class LinkedUser(APIObject): class Sms(APIObject): URLPART = "sms" + TYPE = "smsmessage" # def post(self, to=None, _from=None, body=None): # data = {"type": "smsmessage", "to": to, "from": _from, "body": body}