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
def __init__(self, path_config, enable_filter=True): self.accounts = AccountsPy(path_config) self.enable_filter = enable_filter self.filter = FilterMessages()