def pop_connect(email, password, server, port): con = poplib.POP3_SSL(server, port) if not email.startswith("recent:"): email = "recent:" + email con.user(email) con.pass_(password) return con
def lookup(self, prefix=""): """looks up all contacts with given prefix (in name or address)""" res = [] for name, email in self.get_contacts(): if name.startswith(prefix) or email.startswith(prefix): res.append("%s <%s>" % (name, email)) return res
def load_status_emails_for_date(date): #load messages client = IMAPClient() client.login(settings.GMAIL_ACCOUNT, settings.GMAIL_AUTH) thread = client.search_inbox_for_email_thread(date) messages = client.parse_status_email_thread(thread) client.logout() statuses = [] for message in messages: #parse developers sender = message['from'] email = get_email_from_sender(sender) if not email.startswith('dev.null'): save_developer(email) #parse projects / statuses body = message['body'] projects_status = get_body_text_from_message(body) #should be a collection of project, status tuples parsed = tryparse_projects_and_statuses(projects_status) for project, status in parsed: #print('PROJECT', project, 'STATUS', status) developer = Developer.objects.filter(email=email).first() project, created = Project.objects.get_or_create(name=project) project.save() s, created = Status.objects.get_or_create(developer=developer, project=project, status=status, date=date) s.save() statuses.append(s) return statuses