Esempio n. 1
0
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
Esempio n. 2
0
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
Esempio n. 3
0
    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)
Esempio n. 4
0
    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)