Ejemplo n.º 1
0
 def setMessagesPerPage(self, messagesPerPage):
     "Sets how many messages the user wants to receive per request."
     if self.__messagesPerPage != messagesPerPage:
         r = GetMessagesRequest(self.session,
                                messagesPerPage=messagesPerPage)
         r.doRequest()
         self.__messagesPerPage = messagesPerPage
Ejemplo n.º 2
0
 def getMessages(self, box="Inbox", pageNumber=None, messagesPerPage=None, oldestFirst=None):
     """
     A wrapper to GetMessagesRequest. Ensures that the user never specifies both messagesPerPage
     and oldestFirst. Doing so can cause the request to be very slow.
     """
     if messagesPerPage != None:
         self.setMessagesPerPage(messagesPerPage)
     if oldestFirst != None:
         self.setOldestFirst(oldestFirst)
     r = GetMessagesRequest(self.session, box=box, pageNumber=pageNumber)
     responseData = r.doRequest()
     return responseData["kmails"]
Ejemplo n.º 3
0
    def __get_kmail(self, username):
        # Fetch all of our green messages
        r = GetMessagesRequest(self.__session, oldestFirst=True)
        r.doRequest()
        r.parseResponse()

        # Return the most recent one sent by username
        for kmail in r.responseData['kmails']:
            if kmail['userName'] == username:
                return kmail

        # This is unexpected enough to crash the bot
        raise Exception("Couldn't find a kmail by {}!".format(username))
Ejemplo n.º 4
0
    def __get_kmails(self, pname=None, limit=None):
        # Fetch all of our green messages
        r = GetMessagesRequest(self.__session, oldestFirst=True)
        r.doRequest()
        r.parseResponse()

        # Yield an apprioprate amount, LIFO
        for kmail in r.responseData['kmails']:
            if limit is not None and limit <= 0:
                break
            if pname is None or kmail['userName'] == pname:
                yield kmail
                if limit is not None:
                    limit -= 1
Ejemplo n.º 5
0
 def setOldestFirst(self, oldestFirst):
     "Sets whether the user wants their messages sorted oldest first or newest first."
     if self.__oldestFirst != oldestFirst:
         r = GetMessagesRequest(self.session, oldestFirst=oldestFirst)
         r.doRequest()
         self.__oldestFirst = oldestFirst