def write()

in src/handlers/rules_handler.py [0:0]


    def write(self, wsh: Worksheet, wb: Workbook):
        bold = wb.add_format({'bold': True})
        red = wb.add_format({'bg_color': '#da9694'})
        green = wb.add_format({'bg_color': '#92d051'})

        def status_color(st: bool):
            if st:
                return green
            return red

        remapped = {}
        for item in self._it:
            remapped.setdefault(item['policy'], []).append(item)
        # sorts buy the total number of failed resources per rule
        # across all the regions
        data = dict(sorted(
            remapped.items(),
            key=lambda p: sum(i.get('failed_resources') or 0 for i in p[1]),
            reverse=True
        ))

        table = Table()
        table.new_row()
        for h in self.head:
            table.add_cells(CellContent(h, bold))
        for rule, items in data.items():
            table.new_row()
            table.add_cells(CellContent(rule))
            items = sorted(
                items,
                key=lambda i: i.get('failed_resources') or 0,
                reverse=True
            )
            table.add_cells(*[
                CellContent(item['region']) for item in items
            ])
            table.add_cells(*[
                CellContent(str(item['succeeded']).lower(),
                            status_color(item['succeeded']))
                for item in items
            ])
            table.add_cells(*[
                CellContent(item['execution_time']) for item in items
            ])
            table.add_cells(*[
                CellContent(item.get('failed_resources') or
                            self.status_empty(item['succeeded']))
                for item in items
            ])
        writer = XlsxRowsWriter()
        writer.write(wsh, table)