Пример #1
0
def send_daily_digest(email_id, digestclient):
	token = token_store.get_token(email_id, source)
	if(token == ""):
		token = token_store.get_token(email_id, source_2)
		use_psync = False
	# print use_psync, token
	nylas_helper.send_daily_digest(email_id, token, use_psync, digestclient)
Пример #2
0
def send_daily_digest_to_all_users(nowtime):
	digest_psync = True
	digest_token = token_store.get_token(digest_client_email, source)
	if(digest_token == ""):
		digest_token = token_store.get_token(digest_client_email, source_2)
		digest_psync = False
	
	digestclient = nylas_helper.get_nylas_client_(digest_token, digest_psync)

	user_list = token_store.get_email_prio_users()
	# user_list = ['*****@*****.**', '*****@*****.**']
	# user_list = ['*****@*****.**']
	# print user_list
	digest_times = token_store.get_daily_digest_time(user_list)
	timezones = token_store.get_timezones(user_list)
	for i in range(len(user_list)):
		try:
			user = user_list[i]
			digest_time = digest_times[i]
			timezone = timezones[i]
			tzobj = pytz.timezone(timezone)
			tztime = nowtime.astimezone(tzobj).time()

			dt = digest_time.hour*60+digest_time.minute
			tzt = tztime.hour*60+tztime.minute
			# print tztime, digest_time
			if dt-tzt < 30 and dt-tzt >= 0: #if the current time and time of daily digest are 30 minutes apart, then send the daily digest
				print "Preparing to send daily digest to",user
				send_daily_digest(user, digestclient)
				print 'Sent the digest to',user
			else:
				print "Not the time",user

		except Exception as e:
			print 'Daily digest crashed {' + str(e) + '}'
Пример #3
0
def count_contact_wise_mails(email_id):
	token = token_store.get_token(email_id, source)
	use_psync = True
	if(token == ""):
		token = token_store.get_token(email_id, source_2)
		use_psync = False
	nylas_helper.count_contact_wise_mails(email_id, token, use_psync)
Пример #4
0
def manage_expired_threads(email_id, expired_thread_list):
	psync = True
	token = token_store.get_token(email_id, source_1)
	if token == "":
		token = token_store.get_token(email_id, source_2)
		psync = False
	nylas_client = nylas_helper.get_nylas_client_(token, psync)

	for thread in expired_thread_list:
		auto_ask = int(thread["auto_ask"])
		first_msg = thread["first_msg"]
		thread_id = thread["id"]
		subject = thread["subject"]

		thread_object = nylas_client.threads.find(thread_id)
		# print thread_object

		if(is_thread_replied(email_id,thread_object,first_msg,nylas_client)):
			print "thread is replied"
			token_store.remove_thread_from_reminder_list(email_id,thread_id)
		else:
			print "thread is not replied"
			send_reminder(email_id,thread_object,subject,auto_ask,first_msg)
			token_store.remove_thread_from_reminder_list(email_id, thread_id)
	return
def remove_useless_labels(email_id):
	try:
		token = token_store.get_token(email_id, source)
		if(token == ""):
			token = token_store.get_token(email_id, source_2)
			use_psync = False
		# print use_psync, token
		nylas_helper.set_psync(use_psync)
		ns = nylas_helper.get_nylas_client(token)

		if use_psync:
			sync_url = psync_url
		else:
			sync_url = "https://api.nylas.com"
		
		if nylas_helper.use_labels(ns):
			for label in remove_label:
				lid = nylas_helper.get_id(ns, label)
				if lid is None:
					continue
				url = sync_url+"/labels/" + lid
				response = requests.delete(url, auth=(token, ""))
				print label,":",response
		else:
			for label in remove_label:
				lid = nylas_helper.get_folder_id(ns, label)
				if lid is None:
					continue
				url = sync_url+"/folders/" + lid
				response = requests.delete(url, auth=(token, ""))
				print label,":",response
	except Exception as e:
		print "Account doesn't exist"
	return
Пример #6
0
def get_score_list_for_user(email_id):
	token = token_store.get_token(email_id, source)
	use_psync = True
	if(token == ""):
		token = token_store.get_token(email_id, source_2)
		use_psync = False
	# nylas_helper.set_psync(use_psync)
	score_list = nylas_helper.get_recent_contact_score(email_id,token, use_psync)
	return score_list
Пример #7
0
def tag_new_mails(email_id,white_list):
	token = token_store.get_token(email_id, source)
	use_psync = True
	if(token == ""):
		token = token_store.get_token(email_id, source_2)
		use_psync = False
	# print use_psync, token
	nylas_helper.set_psync(use_psync)
	nylas_helper.tag_recent_unread_mails(email_id,token,white_list,social_list, use_psync)
	return
Пример #8
0
def archive_blacklisted_mails(email_id):
	token = token_store.get_token(email_id, source)
	use_psync = True

	if(token == ""):
		token = token_store.get_token(email_id, source_2)
		use_psync = False

	nylas_helper.archive_old_blacklist_mails(email_id, token, use_psync)
	return
Пример #9
0
def get_score_list_for_user(email_id):
    token = token_store.get_token(email_id, source)
    use_psync = True
    if (token == ""):
        token = token_store.get_token(email_id, source_2)
        use_psync = False
    # nylas_helper.set_psync(use_psync)
    score_list = nylas_helper.get_recent_contact_score(email_id, token,
                                                       use_psync)
    return score_list
Пример #10
0
def blacklist_senders(email_id):
	token = token_store.get_token(email_id, source)
	use_psync = True

	if(token == ""):
		token = token_store.get_token(email_id, source_2)
		use_psync = False

	nylas_helper.blacklist_senders(email_id, token, use_psync)
	return
Пример #11
0
def tag_new_mails(email_id, white_list):
    token = token_store.get_token(email_id, source)
    use_psync = True
    if (token == ""):
        token = token_store.get_token(email_id, source_2)
        use_psync = False
    # print use_psync, token
    nylas_helper.set_psync(use_psync)
    nylas_helper.tag_recent_unread_mails(email_id, token, white_list,
                                         social_list, use_psync)
    return
Пример #12
0
def manage_expired_threads(email_id,expired_thread_list):

	psync = True
	token = token_store.get_token(email_id, source_1)
	if token == "":
		token = token_store.get_token(email_id, source_2)
		psync = False
		
	nylas_client = nylas_helper.get_nylas_client_(token, psync)

	for thread_id in expired_thread_list:
		thread_object = nylas_client.threads.find(thread_id)
		send_snooze_reminder(email_id, thread_object)
		token_store.remove_thread_from_followup(email_id,thread_id,token)
	return
Пример #13
0
def testing_digest(nowtime):
	digest_psync = True
	digest_token = token_store.get_token(digest_client_email, source)
	if(digest_token == ""):
		digest_token = token_store.get_token(digest_client_email, source_2)
		digest_psync = False
	
	digestclient = nylas_helper.get_nylas_client_(digest_token, digest_psync)

	# user_list = token_store.get_email_prio_users()
	user_list = ['*****@*****.**']
	for i in range(len(user_list)):
		try:
			user = user_list[i]
			print "Preparing to send daily digest to",user
			send_daily_digest(user, digestclient)
			print 'Sent the digest to',user

		except Exception as e:
			print 'Daily digest crashed {' + str(e) + '}'
Пример #14
0
def testing_digest(nowtime):
    digest_psync = True
    digest_token = token_store.get_token(digest_client_email, source)
    if (digest_token == ""):
        digest_token = token_store.get_token(digest_client_email, source_2)
        digest_psync = False

    digestclient = nylas_helper.get_nylas_client_(digest_token, digest_psync)

    # user_list = token_store.get_email_prio_users()
    user_list = ['*****@*****.**']
    for i in range(len(user_list)):
        try:
            user = user_list[i]
            print "Preparing to send daily digest to", user
            send_daily_digest(user, digestclient)
            print 'Sent the digest to', user

        except Exception as e:
            print 'Daily digest crashed {' + str(e) + '}'
Пример #15
0
def run_push_for_user(email_id, white_list):
	token = token_store.get_token(email_id)
	print "token:", token
	delta = get_delta(email_id,token)
	# print delta
	if len(delta) == 0 :
		print "NODEL",email_id
		return
	# we have got some changes
	delta_info_list = get_info_from_delta_object(email_id, delta)
	deltas_to_push = get_deltas_to_push(email_id, token, delta_info_list, white_list)
	if(len(deltas_to_push) > 0):
		# print "push to send !"
		send_push_using_delta_info(email_id,deltas_to_push)
	else:
		print "NODEL: ",email_id
	return
Пример #16
0
def run_push_for_user(email_id, white_list):
    token = token_store.get_token(email_id)
    print "token:", token
    delta = get_delta(email_id, token)
    # print delta
    if len(delta) == 0:
        print "NODEL", email_id
        return
    # we have got some changes
    delta_info_list = get_info_from_delta_object(email_id, delta)
    deltas_to_push = get_deltas_to_push(email_id, token, delta_info_list,
                                        white_list)
    if (len(deltas_to_push) > 0):
        # print "push to send !"
        send_push_using_delta_info(email_id, deltas_to_push)
    else:
        print "NODEL: ", email_id
    return