From a432491e7e3546a25cdfe61c54926f6581aeed49 Mon Sep 17 00:00:00 2001 From: pemontto Date: Fri, 10 May 2019 11:31:38 +0100 Subject: [PATCH] don't fail if no scans are found --- vulnwhisp/frameworks/qualys_vm.py | 2 ++ vulnwhisp/frameworks/qualys_was.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/vulnwhisp/frameworks/qualys_vm.py b/vulnwhisp/frameworks/qualys_vm.py index b510958..e22cc39 100644 --- a/vulnwhisp/frameworks/qualys_vm.py +++ b/vulnwhisp/frameworks/qualys_vm.py @@ -29,6 +29,8 @@ class qualysWhisperAPI(object): def scan_xml_parser(self, xml): all_records = [] root = ET.XML(xml.encode('utf-8')) + if not root.find('.//SCAN_LIST'): + return pd.DataFrame(columns=['id', 'status']) for child in root.find('.//SCAN_LIST'): all_records.append({ 'name': child.find('TITLE').text, diff --git a/vulnwhisp/frameworks/qualys_was.py b/vulnwhisp/frameworks/qualys_was.py index 11ccc03..c0f000a 100644 --- a/vulnwhisp/frameworks/qualys_was.py +++ b/vulnwhisp/frameworks/qualys_was.py @@ -120,6 +120,8 @@ class qualysWhisperAPI(object): _records.append(scan_info) self.logger.debug('Converting XML to DataFrame') dataframes = [self.xml_parser(xml) for xml in _records] + if not dataframes: + return pd.DataFrame(columns=['id']) except Exception as e: self.logger.error("Couldn't process all scans: {}".format(e))