MCPcopy Index your code
hub / github.com/aboutcode-org/vulnerablecode / get_data

Method get_data

vulnerabilities/oval_parser.py:33–61  ·  view source on GitHub ↗

Return a list of OvalDefinition mappings.

(self)

Source from the content-addressed store, hash-verified

31 self.all_tests = self.oval_document.getTests()
32
33 def get_data(self) -> List[Dict]:
34 """
35 Return a list of OvalDefinition mappings.
36 """
37 oval_data = []
38 for definition in self.all_definitions:
39 matching_tests = self.get_tests_of_definition(definition)
40 if not matching_tests:
41 continue
42 definition_data = {"test_data": []}
43 # TODO:this could use some data cleaning
44 definition_data["description"] = definition.getMetadata().getDescription() or ""
45 definition_data["vuln_id"] = self.get_vuln_id_from_definition(definition)
46 definition_data["reference_urls"] = self.get_urls_from_definition(definition)
47 definition_data["severity"] = self.get_severity_from_definition(definition)
48
49 for test in matching_tests:
50 test_obj, test_state = self.get_object_state_of_test(test)
51 if not test_obj or not test_state:
52 continue
53 test_data = {"package_list": []}
54 test_data["package_list"].extend(self.get_pkgs_from_obj(test_obj))
55 version_ranges = self.get_version_range_from_state(test_state)
56 test_data["version_ranges"] = version_ranges
57 definition_data["test_data"].append(test_data)
58
59 oval_data.append(definition_data)
60
61 return oval_data
62
63 def get_tests_of_definition(self, definition: OvalDefinition) -> List[OvalTest]:
64 """

Callers 3

get_data_from_xml_docMethod · 0.95
test_get_dataMethod · 0.80
test__collect_pkgsFunction · 0.80

Calls 9

get_pkgs_from_objMethod · 0.95
getDescriptionMethod · 0.80
getMetadataMethod · 0.80

Tested by 2

test_get_dataMethod · 0.64
test__collect_pkgsFunction · 0.64