Beispiel #1
0
class Server:
    def __init__(self, path_config, enable_filter=True):
        self.accounts = AccountsPy(path_config)
        self.enable_filter = enable_filter
        self.filter = FilterMessages()

    def download_messages(self, time):
        delta_t = (datetime.utcnow() - datetime(1970, 1, 1)).total_seconds() - time
        imap_messages = self.accounts.getMessages(int(delta_t))
        self.messages = self._make_messages(imap_messages)
        return self.messages

    def _make_messages(self, imap_messages):
        answer = []
        for msg in imap_messages:
            to, sender = msg[0], msg[1]
            date = datetime(msg[2][0], msg[2][1], msg[2][2], msg[2][3],
                            msg[2][4], msg[2][5])
            body_text = '\n'.join(get_text_part(msg[4]))
            new_msg = Message(sender, to, date, msg[3], body_text)
            if self.enable_filter and self.filter(new_msg):
                answer.append(new_msg)
        return answer
Beispiel #2
0
class Server:
    def __init__(self, path_config, enable_filter=True):
        self.accounts = AccountsPy(path_config)
        self.enable_filter = enable_filter
        self.filter = FilterMessages()

    def download_messages(self, time):
        delta_t = (datetime.utcnow() -
                   datetime(1970, 1, 1)).total_seconds() - time
        imap_messages = self.accounts.getMessages(int(delta_t))
        self.messages = self._make_messages(imap_messages)
        return self.messages

    def _make_messages(self, imap_messages):
        answer = []
        for msg in imap_messages:
            to, sender = msg[0], msg[1]
            date = datetime(msg[2][0], msg[2][1], msg[2][2], msg[2][3],
                            msg[2][4], msg[2][5])
            body_text = '\n'.join(get_text_part(msg[4]))
            new_msg = Message(sender, to, date, msg[3], body_text)
            if self.enable_filter and self.filter(new_msg):
                answer.append(new_msg)
        return answer
Beispiel #3
0
 def __init__(self, path_config, enable_filter=True):
     self.accounts = AccountsPy(path_config)
     self.enable_filter = enable_filter
     self.filter = FilterMessages()
Beispiel #4
0
 def __init__(self, path_config, enable_filter=True):
     self.accounts = AccountsPy(path_config)
     self.enable_filter = enable_filter
     self.filter = FilterMessages()