Repository : http://git.fedorahosted.org/cgit/cura-tools.git
On branch : master
commit 5190db138ead4c31748bee424994c8d51eb793a2 Author: Peter Hatina phatina@redhat.com Date: Wed Jun 19 13:53:28 2013 +0200
introduce _LmiInstance::refresh()
cli-tools/lmi/lmi_client_shell.py | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/cli-tools/lmi/lmi_client_shell.py b/cli-tools/lmi/lmi_client_shell.py index ffb1168..66c6667 100644 --- a/cli-tools/lmi/lmi_client_shell.py +++ b/cli-tools/lmi/lmi_client_shell.py @@ -689,15 +689,12 @@ class _LmiInstanceMethod(BaseObject): if LmiBaseClient._get_use_exceptions(): raise LmiMethodCallError("Could not perform CIM -> LMI object transformation") return LmiReturnValue(rval = rval, errorstr = errorstr) - (new_inst, _, _) = self._client._get_instance( - self._lmi_instance.path, LocalOnly = False) - if not new_inst: + if not self._lmi_instance.refresh(): # NOTE: this is wrong! What should we do? errorstr = "Could not update an LMI object after a method call" if LmiBaseClient._get_use_exceptions(): raise LmiMethodCallError(errorstr) return LmiReturnValue(rval = rval, errorstr = errorstr) - self._lmi_instance._cim_instance = new_inst return LmiReturnValue( hostname = self._client.hostname, instance = self._lmi_instance, @@ -778,6 +775,14 @@ class _LmiInstance(BaseObject): _LmiMofFormatter(self._cim_instance.tomof()).fancy_format(self._client.interactive)
@possibly_deleted + def refresh(self): + (new_cim_instance, _, _) = self._client._get_instance(self.path, LocalOnly = False) + if not new_cim_instance: + return False + self._cim_instance = new_cim_instance + return True + + @possibly_deleted @lmi_return_val_if_fail("_cim_instance.path", []) def associator_names(self, AssocClass = None, ResultClass = None, Role = None,\ ResultRole = None):
cura-tools-devel@lists.fedorahosted.org