def render_template(self, template_type):
        """Description
        template_type:
            - "markdown"
        """

        if template_type not in ["markdown"]:
            raise Exception("Bad template_type. Available values:" +
                            " [\"markdown\"]")

        template = env.get_template('markdown_responseaction_template.md.j2')

        self.ra_parsed_file.update(
            {'description': self.ra_parsed_file.get('description').strip()})

        self.ra_parsed_file.update({
            'title':
            ATCutils.normalize_react_title(self.ra_parsed_file.get('title'))
        })

        stage_list = []
        stage = self.ra_parsed_file.get('stage')

        for rs_id, rs_name in rs_mapping.items():
            if ATCutils.normalize_rs_name(stage) == rs_name:
                stage_list.append((rs_id, rs_name))

        self.ra_parsed_file.update({'stage': stage_list})

        self.ra_parsed_file.update({
            'category':
            ATCutils.get_ra_category(self.ra_parsed_file.get('id'))
        })

        self.content = template.render(self.ra_parsed_file)
Beispiel #2
0
    def render_template(self, template_type):
        """Description
        template_type:
            - "markdown"
        """

        if template_type not in ["markdown"]:
            raise Exception("Bad template_type. Available values:" +
                            " [\"markdown\"]")

        # Point to the templates directory
        env = Environment(loader=FileSystemLoader('scripts/templates'))

        template = env.get_template('markdown_responsestage_template.md.j2')

        self.ra_parsed_file.update(
            {'description': self.ra_parsed_file.get('description').strip()})

        ras, ra_paths = ATCutils.load_yamls_with_paths(
            ATCconfig.get('response_actions_dir'))
        ra_filenames = [
            ra_path.split('/')[-1].replace('.yml', '') for ra_path in ra_paths
        ]

        rs_id = self.ra_parsed_file.get('id')

        stage_list = []

        for i in range(len(ras)):
            if rs_mapping[rs_id] == ATCutils.normalize_rs_name(
                    ras[i].get('stage')):
                ra_id = ras[i].get('id')
                ra_filename = ra_filenames[i]
                ra_title = ATCutils.normalize_react_title(ras[i].get('title'))
                ra_description = ras[i].get('description').strip()
                stage_list.append(
                    (ra_id, ra_filename, ra_title, ra_description))

        self.ra_parsed_file.update({'stage_list': sorted(stage_list)})

        self.content = template.render(self.ra_parsed_file)