Пример #1
0
def get_custom_report(options, grep_string='slack', module=None):
    # ws = utils.get_workspace(options=options)
    if not module and module is not False:
        module = options.get('CURRENT_MODULE', False)

    if module:
        url = options.get(
            'REMOTE_API') + "/api/reports/raw/?module={0}".format(module)
    else:
        url = options.get('REMOTE_API') + "/api/reports/raw/"
    headers = send.osmedeus_headers
    headers['Authorization'] = options.get('JWT')

    r = send.send_get(url, data=None, headers=headers)

    if not r:
        return False
    reports = utils.resolve_commands(options, r.json().get('reports'))

    final_reports = []
    if grep_string:
        for item in reports:
            if grep_string in item.get('note').lower():
                final_reports.append(item.get('report_path'))
    else:
        final_reports = reports
    if len(final_reports) == 1:
        return final_reports[0]
    return final_reports
Пример #2
0
    def gen_commands(self):
        self.methods = utils.get_methods(self)
        raw_commands = execute.get_cmd(self.options)
        self.pre_commands, self.mid_commands, self.post_commands = [], [], []

        if raw_commands:
            self.commands = utils.resolve_commands(self.options, raw_commands)
            for command in self.commands:
                # if command.get('pre_run') and command.get('pre_run') != '':
                #     self.pre_commands.append(command)
                if command.get('waiting') == 'last':
                    self.post_commands.append(command)
                elif command.get('waiting') == 'first':
                    self.pre_commands.append(command)
                else:
                    self.mid_commands.append(command)