Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
 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
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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