From: Jiri Pirko <jiri(a)mellanox.com>
It is valuable for task to be able to get complete list of currently
defined aliases. This patch allows it.
Signed-off-by: Jiri Pirko <jiri(a)mellanox.com>
---
lnst/Controller/NetTestController.py | 4 ++++
lnst/Controller/Task.py | 9 +++++++++
lnst/Controller/XmlTemplates.py | 10 ++++++++++
3 files changed, 23 insertions(+)
diff --git a/lnst/Controller/NetTestController.py b/lnst/Controller/NetTestController.py
index 0051c4d..b4ab31d 100644
--- a/lnst/Controller/NetTestController.py
+++ b/lnst/Controller/NetTestController.py
@@ -855,6 +855,10 @@ class NetTestController:
templates = self._parser._template_proc
return templates._find_definition(alias)
+ def _get_aliases(self):
+ templates = self._parser._template_proc
+ return templates._dump_definitions()
+
class MessageDispatcher(ConnectionHandler):
def __init__(self, log_ctl):
super(MessageDispatcher, self).__init__()
diff --git a/lnst/Controller/Task.py b/lnst/Controller/Task.py
index e47b025..2fbc7a6 100644
--- a/lnst/Controller/Task.py
+++ b/lnst/Controller/Task.py
@@ -119,6 +119,15 @@ class ControllerAPI(object):
except XmlTemplateError:
return None
+ def get_aliases(self):
+ """
+ Get all user defined aliases.
+
+ :return: names and values of a user defined aliases
+ :rtype: dict
+ """
+ return self._ctl._get_aliases()
+
def connect_PerfRepo(self, mapping_file, url=None, username=None, password=None):
if not self._perf_repo_api.connected():
if url is None:
diff --git a/lnst/Controller/XmlTemplates.py b/lnst/Controller/XmlTemplates.py
index e4577cb..a1541db 100644
--- a/lnst/Controller/XmlTemplates.py
+++ b/lnst/Controller/XmlTemplates.py
@@ -302,6 +302,16 @@ class XmlTemplates:
err = "Alias '%s' is not defined here" % name
raise XmlTemplateError(err)
+ def _dump_definitions(self):
+ dump = self._overriden_aliases.copy()
+
+ for level in self._definitions:
+ for name in level:
+ if not name in dump:
+ dump[name] = level[name]
+
+ return dump
+
def process_aliases(self, element):
""" Expand aliases within an element and its children
--
2.4.3
Show replies by date