diff --git a/nexpose/nexpose_vulnerabilityexception.py b/nexpose/nexpose_vulnerabilityexception.py index 7c359f8..e0fd1b2 100644 --- a/nexpose/nexpose_vulnerabilityexception.py +++ b/nexpose/nexpose_vulnerabilityexception.py @@ -2,7 +2,7 @@ from __future__ import (absolute_import, division, print_function, unicode_literals) from builtins import object -from .xml_utils import get_attribute, get_content_of +from .xml_utils import get_attribute, get_content_of, create_element from future import standard_library standard_library.install_aliases() @@ -69,6 +69,35 @@ def CreateFromXML(xml_data): details.asset_port = int(fix_null(get_attribute(xml_data, 'port-no', details.asset_port))) return details + def AsXML(self): + attributes = { + 'exception-id': self.id, + 'vuln-id': self.vulnerability_id, + 'vuln-key': self.vulnerability_key, + 'submitter': self.submitter, + 'reviewer': self.reviewer, + 'status': self.status, + 'reason': self.reason, + 'scope': self.scope, + } + if self.expiration_date: + attributes['expiration-date'] = self.expiration_date + if self.asset_id: + attributes['asset-id'] = self.asset_id + if self.asset_port: + attributes['port-no'] = self.asset_port + xml_data = create_element('VulnerabilityException', attributes) + if self.submitter_comment: + submitter_comment = create_element('submitter-comment') + submitter_comment.text = self.submitter_comment + xml_data.append(submitter_comment) + if self.reviewer_comment: + reviewer_comment = create_element('reviewer-comment') + reviewer_comment.text = self.reviewer_comment + xml_data.append(reviewer_comment) + return xml_data + + def __init__(self): self.id = 0 self.vulnerability_id = ''