def process_updating_environment(html_message, host_port, user_installer): email_parser = EmailParser() url_request = "http://%s/update_status_ticket" % host_port print url_request list_ticket = email_parser.parse_updating_environment( html_message, user_installer) if list_ticket is None: print "Unable to parse email's body...." else: for dict_ticket in list_ticket: print dict_ticket header = { 'Content-type': 'application/json', 'Accept': 'text/plain' } json_request = json.dumps(dict_ticket) result = requests.post(url_request, data=json_request, headers=header) print result if result.status_code == 200: json_result = json.loads(result.content) logger.info( 'id_ticket = %s , code_result = %s' % (dict_ticket['id_ticket'], json_result['result_code'])) if json_result['result_code'] == 'ERROR': logger.error('error_description: %s' % json_result['message']) else: message_result = 'error_code: %s, content: %s' % ( result.status_code, result.content) print message_result
def process_defect_email(email_message, host_port): email_parser = EmailParser() url_request = "http://%s/process_ticket_library" % host_port print url_request dict_defect = email_parser.parse_mail_defect(email_message) if dict_defect: print dict_defect header = {'Content-type': 'application/json', 'Accept': 'text/plain'} json_request = json.dumps(dict_defect) result = requests.post(url_request, data=json_request, headers=header) print result if result.status_code == 200: json_result = json.loads(result.content) logger.info('id_ticket = %s , code_result = %s' % (dict_defect['id_ticket'], json_result['result_code'])) if json_result['result_code'] == 'ERROR': logger.error('error_description: %s' % json_result['message']) else: message_result = 'error_code: %s, content: %s' % (result.status_code, result.content) print message_result
def process_defect_email(email_message, host_port): email_parser = EmailParser() url_request = "http://%s/process_ticket_library" % host_port print url_request dict_defect = email_parser.parse_mail_defect(email_message) if dict_defect: print dict_defect header = {'Content-type': 'application/json', 'Accept': 'text/plain'} json_request = json.dumps(dict_defect) result = requests.post(url_request, data=json_request, headers=header) print result if result.status_code == 200: json_result = json.loads(result.content) logger.info('id_ticket = %s , code_result = %s' % (dict_defect['id_ticket'], json_result['result_code'])) if json_result['result_code'] == 'ERROR': logger.error('error_description: %s' % json_result['message']) else: message_result = 'error_code: %s, content: %s' % ( result.status_code, result.content) print message_result
def listen_email(self): persistent_controller = PersistentController(self.config_file) mail = imaplib.IMAP4_SSL(self.imap_server) mail.login(self.email_account, self.email_password) mail.list() mail.select('inbox') email_parser = EmailParser() subject_defect = self.config.get('SettingEmail', 'subject.defect') substring_start = self.config.get('SettingEmail', 'substring.to.start') typ, data = mail.search(None, '(UNSEEN SUBJECT "%s")' % subject_defect) messages = data[0].split() for message_uid in messages: result, data = mail.uid('fetch', message_uid, '(RFC822)') raw_body = data[0][1] email_message = self.get_decoded_email_body(raw_body) # print ("result: %s" % result) # print ("body_email: %s" % email_message) dict_defect = email_parser.parse_mail_defect(email_message) if dict_defect: logger.info("dict_defect: %s" % dict_defect) persistent_controller.process_library_ticket(dict_defect)
def process_updating_environment(html_message, host_port, user_installer): email_parser = EmailParser() url_request = "http://%s/update_status_ticket" % host_port print url_request list_ticket = email_parser.parse_updating_environment(html_message, user_installer) if list_ticket is None: print "Unable to parse email's body...." else: for dict_ticket in list_ticket: print dict_ticket header = {'Content-type': 'application/json', 'Accept': 'text/plain'} json_request = json.dumps(dict_ticket) result = requests.post(url_request, data=json_request, headers=header) print result if result.status_code == 200: json_result = json.loads(result.content) logger.info('id_ticket = %s , code_result = %s' % (dict_ticket['id_ticket'], json_result['result_code'])) if json_result['result_code'] == 'ERROR': logger.error('error_description: %s' % json_result['message']) else: message_result = 'error_code: %s, content: %s' % (result.status_code, result.content) print message_result