def __queue_handler(mail_credentials_path, frequency, queue): """Traverses the given queue and concatenates by lines all message texts.""" if not queue.empty(): subject = __generate_subject(frequency) lines_list = [] while not queue.empty(): lines_list.append(queue.get()[1]) msg = '\n'.join(lines_list) try: mail_credentials = json.loads(open(mail_credentials_path).read()) Utils.sendmail(mail_credentials, subject, msg) mail_credentials = None except: print "Unexpected error:", traceback.format_exc() print("FATAL ERROR: irrecoverable information loss :(")
def __process_message(mail_credentials_path, msg): sched = msg["schedule"] txt = __generate_message_line(msg) if sched != str(__schedules.SILENTLY): sys.stderr.write(txt + "\n") if sched == str(__schedules.INSTANTANEOUSLY): subject = __generate_subject(__schedules.INSTANTANEOUSLY, msg["name"]) try: mail_credentials = json.loads(open(mail_credentials_path).read()) Utils.sendmail(mail_credentials, subject, txt) mail_credentials = None except: print "Unexpected error:", traceback.format_exc() elif sched != str(__schedules.SILENTLY): __schedule2queue[sched].put((msg["datetime"], txt))