def generate_validation_report()

in ansible_image_validation/azure-table-data.py [0:0]


    def generate_validation_report(self, args):
        """
        This functions generates the HTML report of validations
        """
        imagequeryresult = self.table_service.query_entities(args.table_name,
            filter="IsDeleted eq '0'",
            accept='application/json;odata=minimalmetadata')
        current_date_time = datetime.datetime.now(datetime.timezone.utc)

        index = 1
        result_line = """
<!DOCTYPE html>
<html lang="en">
<head>
    <title>Marketplace Image Validation Report</title>
    <meta charset="utf-8">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>
    <table class="table">
        <tr>
            <td> # </td>
            <td> VM Name </td>
            <td> Validation Result </td>
            <td> Error Messages </td>
        </tr>\n"""
        with open('./report/index.html', 'w') as report:
            context = "danger"
            for image in imagequeryresult:
                if image.ValidationResult == "Failed":
                    result_line = result_line + self.get_report_line(index, image, context)
                    index += 1
            
            context = "success"
            for image in imagequeryresult:
                if image.ValidationResult == "Success":
                    result_line = result_line + self.get_report_line(index, image, context)
                    index += 1

            context = "warning"
            for image in imagequeryresult:
                if image.ValidationResult == "NA":
                    result_line = result_line + self.get_report_line(index, image, context)
                    index += 1

                
            result_line = result_line + "</table></body></html>"
            report.write("%s\n" % result_line)