the rest: create new conversations and get a list of existing conversations
authorBaŝto <msnhasser@web.de>
Fri, 1 Mar 2013 21:22:41 +0000 (22:22 +0100)
committerBaŝto <msnhasser@web.de>
Fri, 1 Mar 2013 21:22:41 +0000 (22:22 +0100)
diaspy/__init__.py
diaspy/client.py
diaspy/models.py

index f10e2315eb6f4b22e7210a207d926cc5e7b286e8..fd6b6ab8c02189914fc576739b021e5f0ac4d379 100644 (file)
@@ -1,2 +1,3 @@
 import diaspy.client
 import diaspy.models
+import diaspy.conversations
\ No newline at end of file
index 3d3ea26e49d43749465aba665c2f10e09fc067ef..7d1678da111433cbdcf346f2adbf9e9616400686 100644 (file)
@@ -268,3 +268,54 @@ class Client:
 
         if r.status_code != 404:
             raise Exception('wrong status code: ' + str(r.status_code))
+
+
+    def get_mailbox(self):
+        """This functions returns a list of messages found in the conversation.
+
+        :returns: list -- list of Conversation objects.
+
+        """
+
+        data = {'authenticity_token': self.get_token()}
+        r = self.session.get(self.pod + "/conversations.json")
+
+        if r.status_code != 200:
+            raise Exception('wrong status code: ' + str(r.status_code))
+
+        mailbox = r.json()
+
+        conversations = []
+
+        for conversation in mailbox:
+            conversations.append(diaspy.conversations.Conversation(str(conversation['conversation']['id']), self))
+
+        return conversations
+
+    def new_conversation(self, contacts, subject, text):
+        """ start a new conversation
+
+        :param contacts: recipients ids, no guids, comma sperated.
+        :type contacts: str
+        :param subject: subject of the message.
+        :type subject: str
+        :param text: text of the message.
+        :type text: str
+
+        """
+
+        data = {'contact_ids': contacts,
+                'conversation[subject]': subject,
+                'conversation[text]': text,
+                'utf8': '&#x2713;',
+                'authenticity_token': self.get_token()}
+
+        r = self.session.post(self.pod +
+                                      '/conversations/',
+                                      data=data,
+                                      headers={'accept': 'application/json'})
+        if r.status_code != 200:
+            raise Exception(str(r.status_code) +
+                            ': Conversation could not be started.')
+
+        return r.json()
index b83de714e5e3e916f776a0aa934be696cb25b59e..572c2882f859818be70160338fb5dd243cf8df33 100644 (file)
@@ -99,8 +99,6 @@ class Post:
     def comment(self, text):
         """This function comments on a post
 
-        :param post_id: id of the post to comment on.
-        :type post_id: str
         :param text: text to comment.
         :type text: str
 
@@ -125,10 +123,8 @@ class Post:
     def delete_comment(self, comment_id):
         """This function removes a comment from a post
 
-        :param post_id: id of the post to remove the like from.
-        :type post_id: str
-        :param like_id: id of the like to remove.
-        :type like_id: str
+        :param comment_id: id of the comment to remove.
+        :type comment_id: str
 
         """