当前位置: 首页>>代码示例>>Python>>正文


Python Report.kb_load_json方法代码示例

本文整理汇总了Python中report.Report.kb_load_json方法的典型用法代码示例。如果您正苦于以下问题:Python Report.kb_load_json方法的具体用法?Python Report.kb_load_json怎么用?Python Report.kb_load_json使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在report.Report的用法示例。


在下文中一共展示了Report.kb_load_json方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: from report import Report [as 别名]
# 或者: from report.Report import kb_load_json [as 别名]
        def __init__(self, application=None, *args, **kwargs):
            self.application = application
            wx.Frame.__init__(self, None, *args, **kwargs)
            self.Bind(wx.EVT_CLOSE, lambda x: self.Destroy())
            # self.Show()
            import sys

            def val(key):
                if key in sys.argv:
                    return sys.argv[sys.argv.index("-t") + 1]
                else:
                    return None

            def is_yaml(filename):
                ext = ".yaml"
                return filename[-len(ext) :] == ext

            template_file = val("-t")
            content_file = val("-c")
            kb_file = val("-k")
            scan_file = val("-s")
            report_file = val("-r")

            if template_file and report_file:
                report = Report()
                report.template_load_xml(template_file)
                if content_file:
                    if is_yaml(content_file):
                        report.content_load_yaml(content_file)
                    else:
                        report.content_load_json(content_file)
                if kb_file:
                    if is_yaml(kb_file):
                        report.kb_load_yaml(kb_file)
                    else:
                        report.kb_load_json(kb_file)
                if scan_file:
                    report.scan = Scan(scan_file)
                report.xml_apply_meta(
                    vulnparam_highlighting=self.menu_view_v.IsChecked(), truncation=self.menu_view_i.IsChecked()
                )
                report.save_report_xml(report_file)
            else:
                print "Usage: "
                print
                print "    " + self.application.title + ".exe"
                print "        start GUI application"
                print
                print "    " + self.application.title + ".exe -t template-file [-c content-file] [-k kb-file] [-s scan-file] -r report-file"
                print "        generate report"
                print
                print "    " + self.application.title + ".exe [any other arguments]"
                print "        display usage and exit"

            self.Close()
开发者ID:hvqzao,项目名称:report-ng,代码行数:57,代码来源:gui.py

示例2: __MainWindow

# 需要导入模块: from report import Report [as 别名]
# 或者: from report.Report import kb_load_json [as 别名]

#.........这里部分代码省略.........
                    "For safety reasons, template overwriting with generated report is not allowed!",
                    "Error",
                    wx.OK | wx.ICON_ERROR,
                )
                return
            self.status("Generating and saving the report...")
            self.report.scan = self.scan
            self._clean_template()
            # self.report.xml_apply_meta()
            self.report.xml_apply_meta(
                vulnparam_highlighting=self.menu_view_v.IsChecked(), truncation=self.menu_view_i.IsChecked()
            )
            self.report.save_report_xml(filename)
            # self._clean_template()
            self.status("Report saved")

        def _Use_yaml(self):
            if self.ctrl_st_t.IsEnabled():
                self.ctrl_tc_t.SetValue(self.report.template_dump_yaml())
            if self.ctrl_st_c.IsEnabled():
                self.ctrl_tc_c.SetValue(self.report.content_dump_yaml())
            if self.ctrl_st_s.IsEnabled():
                self.ctrl_tc_s.SetValue(self.scan.dump_yaml(truncate=self.menu_view_i.IsChecked()))
            if self.ctrl_st_k.IsEnabled():
                self.ctrl_tc_k.SetValue(self.report.kb_dump_yaml())

        def Use_yaml(self, e):
            self._Use_yaml()

        def _Use_json(self):
            if self.ctrl_st_t.IsEnabled():
                self.ctrl_tc_t.SetValue(self.report.template_dump_json())
            if self.ctrl_st_c.IsEnabled():
                self.ctrl_tc_c.SetValue(self.report.content_dump_json())
            if self.ctrl_st_s.IsEnabled():
                self.ctrl_tc_s.SetValue(self.scan.dump_json(truncate=self.menu_view_i.IsChecked()))
            if self.ctrl_st_k.IsEnabled():
                self.ctrl_tc_k.SetValue(self.report.kb_dump_json())

        def Use_json(self, e):
            self._Use_json()

        # def Status_Preview(self, e):
        #    if self.menu_view_s.IsChecked():
        #        self.statusbar.Show()
        #        self.SetSize((-1,self.GetSize()[1]+self._statusbar_h,))
        #    else:
        #        self.statusbar.Hide()
        #        self.SetSize((-1,self.GetSize()[1]-self._statusbar_h,))

        def status(self, text, hint=False):
            # print text
            self.SetStatusText(["", "Hint: "][hint] + text)

        def VulnParam_highlighting(self, e):
            pass

        def Viewstate_truncation(self, e):
            self._refresh()

        def Always_on_top(self, e):
            if self.menu_view_t.IsChecked():
                self.SetWindowStyle(self.GetWindowStyle() | wx.STAY_ON_TOP)
                for i in self.children:
                    i.SetWindowStyle(i.GetWindowStyle() | wx.STAY_ON_TOP)
            else:
                self.SetWindowStyle(self.GetWindowStyle() & ~wx.STAY_ON_TOP)
                for i in self.children:
                    i.SetWindowStyle(i.GetWindowStyle() & ~wx.STAY_ON_TOP)

        def Open_Knowledge_Base(self, e):
            openFileDialog = wx.FileDialog(
                self,
                "Open Knowledge Base",
                "",
                "",
                "Knowledge Base files (*.yaml; *.json; *.csv)|*.yaml;*.json;*.csv|All files (*.*)|*.*",
                wx.FD_OPEN | wx.FD_FILE_MUST_EXIST,
            )
            if openFileDialog.ShowModal() == wx.ID_CANCEL:
                return
            self._open_kb(openFileDialog.GetPath())

        def _open_kb(self, filename):
            self.ctrl_st_k.Enable(False)
            csv_ext = ".csv"
            json_ext = ".json"
            if filename[-len(csv_ext) :].lower() == csv_ext:
                self.report.kb_load_csv(filename)
            elif filename[-len(json_ext) :] == json_ext:
                self.report.kb_load_json(filename)
            else:
                self.report.kb_load_yaml(filename)
            if self.menu_view_y.IsChecked():
                self.ctrl_tc_k.SetValue(self.report.kb_dump_yaml())
            else:
                self.ctrl_tc_k.SetValue(self.report.kb_dump_json())
            self.ctrl_st_k.Enable(True)
            # self.menu_file_save_k.Enable (True)
            self.menu_file_save_r.Enable(True)
开发者ID:hvqzao,项目名称:report-ng,代码行数:104,代码来源:gui.py


注:本文中的report.Report.kb_load_json方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。