Beispiel #1
0
def compare_node_status(previous_session_data, current_session_data,
                        lookup_field):
    try:
        info_logger.info(" Comparing Node Details ")
        previous_session_node_details = json.loads(previous_session_data)

        def compare(current_session_data_dataObj):
            for node_index in range(0, len(previous_session_node_details)):
                if current_session_data_dataObj[
                        'id'] == previous_session_node_details[node_index][
                            'id']:
                    keys = lookup_field.split('.')
                    previous_run_data = get_value_for_lookUp_fields(
                        previous_session_node_details[node_index], keys)
                    current_run_data = get_value_for_lookUp_fields(
                        current_session_data_dataObj, keys)
                    return previous_run_data != current_run_data
            return True

        unique_result = list(filter(compare, current_session_data))
        if not unique_result:
            info_logger.info(" no change ")
        else:
            write_node_data_to_file(current_session_data,
                                    current_session_data_file)
        return unique_result
    except Exception as e:
        error_logger.exception(str(e))
Beispiel #2
0
def read_previous_session_node_data():
    previous_session_node_details=[]
    try:
        info_logger.info(" reading previous session node details ")
        if os.path.exists(os.path.join(sub_path,current_session_data_file)):           
            previous_session_file = open(os.path.join(sub_path,current_session_data_file),'r') 
            previous_session_node_details = previous_session_file.read()
        return previous_session_node_details
    except Exception as e:
        error_logger.exception(str(e))
def send_email(subject, message):
    try:
        server = smtplib.SMTP(settings.smtp_server, settings.smtp_port)
        server.starttls()
        server.login(settings.email_from, settings.email_from_pass)
        msg = MIMEMultipart("alternative")
        msg["Subject"] = Header(subject, 'utf-8')
        msg.attach(MIMEText(message.encode('utf-8'), 'html', 'UTF-8'))
        server.sendmail(settings.email_from, settings.email_to, msg.as_string())
    except Exception, e:
        error_logger.exception(e)
Beispiel #4
0
def write_changes_in_node_result(node_data,comparator):
    info_logger.info(" writing result ")
    try:
        changed_data= json.dumps(node_data)
        if not os.path.isdir(path):
            os.mkdir(path)
        opened_result_file = open(os.path.join(path, "changes_in_"+comparator+".json"),'w')
        opened_result_file.write(str(changed_data)) 
        opened_result_file.close()
    except Exception as e:
        error_logger.exception(str(e))
Beispiel #5
0
def send_email(subject, message):
    try:
        server = smtplib.SMTP(settings.smtp_server, settings.smtp_port)
        server.starttls()
        server.login(settings.email_from, settings.email_from_pass)
        msg = MIMEMultipart("alternative")
        msg["Subject"] = Header(subject, 'utf-8')
        msg.attach(MIMEText(message.encode('utf-8'), 'html', 'UTF-8'))
        server.sendmail(settings.email_from, settings.email_to,
                        msg.as_string())
    except Exception, e:
        error_logger.exception(e)
Beispiel #6
0
def write_node_data_to_file(node_data, file):
    try:
        node_dump_data= json.dumps(node_data)
        if not os.path.isdir(path):
            os.makedirs(sub_path)
        else:
            if not os.path.isdir(sub_path):
                os.mkdir(sub_path)    
        info_logger.info(" writing Node Details for "+ file +" ")
        previous_session_file = open(os.path.join(sub_path,file),'w')
        previous_session_file.write(str(node_dump_data)) 
        previous_session_file.close()
    except Exception as e:
        error_logger.exception(str(e))
Beispiel #7
0
def fetch_catchpoint_node_deatils(url, token):
    info_logger.info("fetching Node Details")
    try:
        headers = {'content-length': '0',
           'accept': 'application/json',
           'authorization': 'Bearer {}'.format(token)
           }
        response = requests.get(
            url,headers=headers)
        if response:
            data = response.json()
            return data['items']
    except Exception as e:
        error_logger.exception(str(e))
Beispiel #8
0
 def process(self):
     self._log_start()
     try:
         self._process()
     except Exception, e:
         error_logger.exception(e)
# from configparser import ConfigParser
import os
import logging
import sys
current_working_directory = os.getcwd()
sys.path.insert(0, current_working_directory + '/libs')
sys.path.insert(0, current_working_directory + '/utils')
from common import check_node_field_changes
from logger import info_logger, error_logger

## Main function
try:
    check_node_field_changes()
except Exception as e:
    error_logger.exception(str(e))