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)
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) + '}'
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)
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
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
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
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
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
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
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
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
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) + '}'
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) + '}'
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
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