Repository :
http://git.fedorahosted.org/cgit/cura-tools.git
On branch : master
---------------------------------------------------------------
commit 5685d2197d10abe300c3cbb8b7a320930cdb0d00
Author: Peter Hatina <phatina(a)redhat.com>
Date: Tue Jan 29 15:13:54 2013 +0100
catch exceptions in _LmiInstance::associators(), ::references()
---------------------------------------------------------------
cli-tools/lmi/lmi_client_base.py | 18 ++++++++++++------
1 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/cli-tools/lmi/lmi_client_base.py b/cli-tools/lmi/lmi_client_base.py
index 32c1123..ac6b66c 100644
--- a/cli-tools/lmi/lmi_client_base.py
+++ b/cli-tools/lmi/lmi_client_base.py
@@ -106,7 +106,7 @@ class LmiBaseClient(object):
for i in inst_name_list:
try:
inst = self._cliconn.GetInstance(InstanceName=i, LocalOnly = False)
- except pywbem.CIMError, e:
+ except pywbem.cim_operations.CIMError, e:
# we can get this error for eg. Linux_UnixProcess instances
# when, there the process exited earlier than this method
if e.args[0] == pywbem.CIM_ERR_NOT_FOUND:
@@ -166,29 +166,35 @@ class LmiBaseClient(object):
return LmiReturnValue(rval = rval == 0, rparams = rparams, errorstr = errorstr)
def _get_associators(self, instance, **params):
- return self._cliconn.Associators(instance.path, **params)
+ try:
+ return self._cliconn.Associators(instance.path, **params)
+ except pywbem.cim_operations.CIMError, e:
+ return []
def _get_references(self, instance, **params):
- return self._cliconn.References(instance.path, **params)
+ try:
+ return self._cliconn.References(instance.path, **params)
+ except pywbem.cim_operations.CIMError, e:
+ return []
def _modify_instance(self, instance, **params):
try:
self._cliconn.ModifyInstance(instance, **params)
- except pywbem.CIMError, e:
+ except pywbem.cim_operations.CIMError, e:
return LmiReturnValue(rval = e.args[0], rparams = {}, errorstr = e.args[1])
return LmiReturnValue(rval = 0, rparams = {}, errorstr = "")
def _delete_instance(self, instance, **params):
try:
self._cliconn.DeleteInstance(instance, **params)
- except pywbem.CIMError, e:
+ except pywbem.cim_operations.CIMError, e:
return LmiReturnValue(rval = e.args[0], rparams = {}, errorstr = e.args[1])
return LmiReturnValue(rval = 0, rparams = {}, errorstr = "")
def _exec_query(self, query_lang, query, namespace = None):
try:
inst_list = self._cliconn.ExecQuery(query_lang, query, namespace)
- except pywbem.CIMError, e:
+ except pywbem.cim_operations.CIMError, e:
return LmiReturnValue(rval = None, rparams = {}, errorstr = e.args[1])
return LmiReturnValue(rval = inst_list, rparams = {}, errorstr = "")