From 5021e076ac07c2adaf98c1ef1ea76d6f17dd0ee5 Mon Sep 17 00:00:00 2001 From: Ricardo Henrique Gracini Guiraldelli Date: Sun, 30 Aug 2015 13:42:32 +0200 Subject: [PATCH] Remotion of forward indicator of subjects --- email_processor.js | 10 +++++++++- utils.js | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/email_processor.js b/email_processor.js index 99125cb..2af571c 100644 --- a/email_processor.js +++ b/email_processor.js @@ -2,6 +2,9 @@ var REGEX_KEY_LINE = /((call\s+for\s+(paper|papers))|submission|deadline)/i; //ignore case // regex for the line which contains paper submission deadline information var REGEX_PAPER_DEADLINE = /(paper(s)?)*(submission|deadline)(paper(s)?)*/i; +// regex pattern of forward text in subject of emails +var REGEX_FORWARD = /^\s*(fw(d)?|en(c)?):\s*/i; + // verifies if a line contains the information of a call for paper email, // returning a true value in positive case @@ -15,9 +18,14 @@ function is_paper_deadline(line){ return REGEX_PAPER_DEADLINE.test(line); } +// removes forward text in subject +function remove_forward(subject_text){ + return subject_text.replace(REGEX_FORWARD, EMPTY_STRING); +} + // takes a GmailMessage object and process it, extracting function process_email(gmail_message){ - var subject = get_subject_text(gmail_message); + var subject = remove_forward(get_subject_text(gmail_message)); var lines_of_interest = break_lines(get_message_text(gmail_message)).filter(has_date).filter(is_paper_deadline); // process only one entry of lines of interest if (lines_of_interest.length > 0){ diff --git a/utils.js b/utils.js index 5045cdb..54eaaec 100644 --- a/utils.js +++ b/utils.js @@ -1,3 +1,5 @@ +// empty string +var EMPTY_STRING = ""; // modified from http://beckism.com/2010/09/splitting-lines-javascript/ var LINE_BREAKS = /^.*((\r\n|\n|\r)|$)/gm;