returns a list of all related packages nested within an OvalObject
(self, obj: OvalObject)
| 103 | return (obj, state) |
| 104 | |
| 105 | def get_pkgs_from_obj(self, obj: OvalObject) -> List[str]: |
| 106 | """ |
| 107 | returns a list of all related packages nested within |
| 108 | an OvalObject |
| 109 | """ |
| 110 | |
| 111 | pkg_list = [] |
| 112 | |
| 113 | for var in obj.element: |
| 114 | # It appears that `var_ref` is used in Ubuntu OVAL but not Debian or SUSE. |
| 115 | if var.get("var_ref"): |
| 116 | var_elem = self.oval_document.getElementByID(var.get("var_ref")) |
| 117 | comment = var_elem.element.get("comment") |
| 118 | pkg_name = re.match("'.+'", comment).group().replace("'", "") |
| 119 | pkg_list.append(pkg_name) |
| 120 | else: |
| 121 | pkg_list.append(var.text) |
| 122 | |
| 123 | return pkg_list |
| 124 | |
| 125 | def get_version_range_from_state(self, state: OvalState) -> Optional[str]: |
| 126 | """ |