def process(self): mailbox = imbox.Imbox(self.parameters.mail_host, self.parameters.mail_user, self.parameters.mail_password, self.parameters.mail_ssl) emails = mailbox.messages(folder=self.parameters.folder, unread=True) if emails: for uid, message in emails: if self.parameters.subject_regex and not re.search(self.parameters.subject_regex, message.subject): continue self.logger.info("Reading email report") for body in message.body['plain']: match = re.search(self.parameters.url_regex, body) if match: url = match.group() self.logger.info("Downloading report from %s" % url) report = fetch_url(url, timeout = 60.0, chunk_size = 16384) self.logger.info("Report downloaded.") self.send_message(report) mailbox.mark_seen(uid) self.logger.info("Email report read")
def get_url_content(url): try: return fetch_url( url, timeout = 60.0, chunk_size = 16384, http_proxy=None, https_proxy=None ) except Exception, e: print e
def process(self): self.logger.info("Downloading report from %s" % self.parameters.url) raw_report = fetch_url( self.parameters.url, timeout = 60.0, chunk_size = 16384, http_proxy=self.parameters.http_proxy, https_proxy=self.parameters.https_proxy ) self.logger.info("Report downloaded.") report = Report() report.add("raw", raw_report, sanitize=True) self.send_message(report)
def process(self): mailbox = imbox.Imbox(self.parameters.mail_host, self.parameters.mail_user, self.parameters.mail_password, self.parameters.mail_ssl) emails = mailbox.messages(folder=self.parameters.mail_folder, unread=True) if emails: for uid, message in emails: if (self.parameters.mail_subject_regex and not re.search(self.parameters.mail_subject_regex, message.subject)): continue self.logger.info("Reading email report") for body in message.body['plain']: match = re.search(self.parameters.mail_url_regex, body) if match: url = match.group() self.logger.info("Downloading report from %s" % url) raw_report = fetch_url(url, timeout=60.0, chunk_size=16384) self.logger.info("Report downloaded.") report = Report() report.add("raw", raw_report, sanitize=True) report.add("feed.name", self.parameters.feed, sanitize=True) report.add("feed.accuracy", self.parameters.accuracy, sanitize=True) time_observation = DateTime().generate_datetime_now() report.add('time.observation', time_observation, sanitize=True) self.send_message(report) mailbox.mark_seen(uid) self.logger.info("Email report read")
def process(self): self.logger.info("Downloading report from %s" % self.parameters.url) report = fetch_url(self.parameters.url, timeout = 60.0, chunk_size = 16384) self.logger.info("Report downloaded.") self.send_message(report)