Repository : http://git.fedorahosted.org/cgit/cura-tools.git
On branch : master
commit 573b63e27b91cafde26851a376ea49c55e03fa49 Author: Peter Hatina phatina@redhat.com Date: Tue Feb 12 15:46:58 2013 +0100
introduce _LmiInstance::associator_names(), ::first_associator_name()
cli-tools/lmi/lmi_client_base.py | 7 +++++++ cli-tools/lmi/lmi_client_shell.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/cli-tools/lmi/lmi_client_base.py b/cli-tools/lmi/lmi_client_base.py index 8b9a07e..768875e 100644 --- a/cli-tools/lmi/lmi_client_base.py +++ b/cli-tools/lmi/lmi_client_base.py @@ -199,6 +199,13 @@ class LmiBaseClient(object): (rval, rparams, errorstr) = self._call_method_raw(instance, method, **params) return LmiReturnValue(rval = rval == 0, rparams = rparams, errorstr = errorstr)
+ def _get_associator_names(self, instance, **params): + try: + return self._cliconn.AssociatorNames(instance.path, **params) + except pywbem.cim_operations.CIMError, e: + raise_or_dump_exception(e) + return [] + def _get_associators(self, instance, **params): try: return self._cliconn.Associators(instance.path, **params) diff --git a/cli-tools/lmi/lmi_client_shell.py b/cli-tools/lmi/lmi_client_shell.py index 09a0d1f..e089a94 100644 --- a/cli-tools/lmi/lmi_client_shell.py +++ b/cli-tools/lmi/lmi_client_shell.py @@ -645,6 +645,34 @@ class _LmiInstance(BaseObject): _LmiMofFormatter(self._cim_instance.tomof()).fancy_format(self._client.interactive)
@possibly_deleted + def associator_names(self, AssocClass = None, ResultClass = None, Role = None,\ + ResultRole = None): + result = [] + assoc_names_args = {} + if AssocClass: + assoc_names_args["AssocClass"] = AssocClass + if ResultClass: + assoc_names_args["ResultClass"] = ResultClass + if Role: + assoc_names_args["Role"] = Role + if ResultRole: + assoc_names_args["ResultRole"] = ResultRole + assoc_names_list = self._client._get_associator_names(self._cim_instance, + **assoc_names_args) + for i in assoc_names_list: + result.append(_LmiInstanceName(self._client, i)) + return result + + @possibly_deleted + def first_associator_name(self, AssocClass = None, ResultClass = None, Role = None, + ResultRole = None): + result = self.associator_names(AssocClass = AssocClass, ResultClass = ResultClass, + Role = Role, ResultRole = ResultRole) + if not result: + return [] + return result[0] + + @possibly_deleted def associators(self, AssocClass = None, ResultClass = None, Role = None,\ ResultRole = None, Props = None): result = []