예제 #1
0
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
예제 #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
예제 #3
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
예제 #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)
예제 #5
0
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
예제 #6
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)