summaryrefslogtreecommitdiffstats
path: root/vnftest/crawlers/default.py
diff options
context:
space:
mode:
Diffstat (limited to 'vnftest/crawlers/default.py')
-rw-r--r--vnftest/crawlers/default.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/vnftest/crawlers/default.py b/vnftest/crawlers/default.py
index da4df0a..74f9554 100644
--- a/vnftest/crawlers/default.py
+++ b/vnftest/crawlers/default.py
@@ -13,6 +13,9 @@
##############################################################################
from __future__ import absolute_import
+
+from vnftest.common.exceptions import MandatoryKeyException
+
from vnftest.crawlers import base
import logging
@@ -23,6 +26,9 @@ class DefaultCrawler(base.Crawler):
__crawler_type__ = 'default'
def crawl(self, dictionary, path):
+ if path.find("[") < 0:
+ return path # the path is a hardcoded value
+
path_list = path.split("[")
value = dictionary
for path_element in path_list:
@@ -32,4 +38,6 @@ class DefaultCrawler(base.Crawler):
if isinstance(value, list):
path_element = int(path_element)
value = value[path_element]
+ if value is None:
+ raise MandatoryKeyException(key_name='param_path', class_name=str(dictionary))
return value