[cura-tools] master: LmiShell, switch to private implementation model (46ccdaa)
by phatina@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/cura-tools.git
On branch : master
>---------------------------------------------------------------
commit 46ccdaa14972a1d603e9c2e7e8b607a2be44ee08
Author: Peter Hatina <phatina(a)redhat.com>
Date: Mon Oct 29 09:44:50 2012 +0100
LmiShell, switch to private implementation model
>---------------------------------------------------------------
cli-tools/lmi-shell.py | 16 ++++++------
cli-tools/lmi/lmi_client_shell.py | 44 ++++++++++++++++++++----------------
2 files changed, 32 insertions(+), 28 deletions(-)
diff --git a/cli-tools/lmi-shell.py b/cli-tools/lmi-shell.py
index 8016f61..8d7cf68 100755
--- a/cli-tools/lmi-shell.py
+++ b/cli-tools/lmi-shell.py
@@ -17,7 +17,7 @@
import os
import sys
import code
-from lmi.lmi_client_shell import LmiShellClient
+from lmi.lmi_client_shell import LmiShell
class LmiInteractiveShell(code.InteractiveConsole):
def __init__(self, prompt, more_prompt, locals = None):
@@ -25,8 +25,8 @@ class LmiInteractiveShell(code.InteractiveConsole):
sys.ps2 = more_prompt
if locals == None:
locals = {}
- locals["LmiShellClient"] = LmiShellClient
- locals["connect"] = connect
+ locals["LmiShell"] = LmiShell
+ locals["connect"] = _connect
code.InteractiveConsole.__init__(self, locals)
def interact(self):
@@ -61,7 +61,7 @@ class LmiInteractiveShell(code.InteractiveConsole):
self.resetbuffer()
more = 0
-def lmi_interact(prompt = "> ", more_prompt = "... "):
+def _lmi_interact(prompt = "> ", more_prompt = "... "):
console = LmiInteractiveShell(prompt, more_prompt)
try:
import readline
@@ -69,14 +69,14 @@ def lmi_interact(prompt = "> ", more_prompt = "... "):
pass
console.interact()
-def connect(hostname, username = "", password = ""):
- return LmiShellClient(hostname, username, password)
+def _connect(hostname, username = "", password = ""):
+ return LmiShell(hostname, username, password)
if __name__ == "__main__":
if len(sys.argv) < 2:
- lmi_interact()
+ _lmi_interact()
else:
- locals = { "LmiShellClient" : LmiShellClient }
+ locals = { "LmiShell" : LmiShell }
i = 1
while sys.argv[i].startswith("-"):
i += 1
diff --git a/cli-tools/lmi/lmi_client_shell.py b/cli-tools/lmi/lmi_client_shell.py
index 7417aaa..590a175 100644
--- a/cli-tools/lmi/lmi_client_shell.py
+++ b/cli-tools/lmi/lmi_client_shell.py
@@ -19,28 +19,28 @@ import pywbem
import inspect
from lmi_client_base import LmiBaseClient
-class LmiErrorHandler(object):
+class _LmiErrorHandler(object):
def __init__(self, errormsg):
super(self.__class__, self).__init__()
if errormsg:
sys.stderr.write("Error: %s\n" % errormsg)
def __getattr__(self, name):
- return LmiErrorHandler("")
+ return _LmiErrorHandler("")
def __call__(self, *args, **kwargs):
- return LmiErrorHandler("")
+ return _LmiErrorHandler("")
def __iter__(self):
- return LmiErrorHandler("")
+ return _LmiErrorHandler("")
def __getitem__(self, key):
- return LmiErrorHandler("")
+ return _LmiErrorHandler("")
def __str__(self):
return ""
-class LmiNamespace(object):
+class _LmiNamespace(object):
def __init__(self, client, name):
super(self.__class__, self).__init__()
self.m_client = client
@@ -51,8 +51,8 @@ class LmiNamespace(object):
return self.m_name
(klass, errorstr) = self.m_client.getClass(name, self.m_name)
if not klass:
- return LmiErrorHandler("Error: %s" % errorstr)
- return LmiClass(self.m_client, self, klass)
+ return _LmiErrorHandler("Error: %s" % errorstr)
+ return _LmiClass(self.m_client, self, klass)
def printClasses(self, filter_key = "", exact_match = False):
(class_name_list, errorstr) = self.m_client.getClassNames(self.m_name)
@@ -71,7 +71,7 @@ class LmiNamespace(object):
for c in class_name_list:
sys.stdout.write("%s\n" % c)
-class LmiClass(object):
+class _LmiClass(object):
def __init__(self, client, namespace, klass):
super(self.__class__, self).__init__()
self.m_client = client
@@ -92,16 +92,16 @@ class LmiClass(object):
def instances(self, filter_key = "", **kwargs):
instance_list = self.m_client.getInstances(self.m_klass.classname, filter_key, **kwargs)
if not instance_list:
- return LmiErrorHandler("'%s' instance does not exist" % filter_key)
+ return _LmiErrorHandler("'%s' instance does not exist" % filter_key)
result = []
for i in instance_list:
- result.append(LmiInstance(self.m_client, self, i))
+ result.append(_LmiInstance(self.m_client, self, i))
return result
def firstInstance(self, filter_key = "", **kwargs):
instance_list = self.instances(filter_key, **kwargs)
if not instance_list:
- return LmiErrorHandler("'%s' instance does not exist" % filter_key)
+ return _LmiErrorHandler("'%s' instance does not exist" % filter_key)
return instance_list[0]
def printProperties(self, detailed = False):
@@ -138,8 +138,8 @@ class LmiClass(object):
def namespace(self):
return self.m_namespace.name
-class LmiInstance(object):
- class LmiInstanceMethod(object):
+class _LmiInstance(object):
+ class _LmiInstanceMethod(object):
def __init__(self, client, instance, method):
super(self.__class__, self).__init__()
self.m_client = client
@@ -178,9 +178,9 @@ class LmiInstance(object):
def __getattr__(self, name):
methods = self.__methods()
if methods and name in methods:
- return LmiInstance.LmiInstanceMethod(self.m_client, self, self.__method(name))
+ return _LmiInstance._LmiInstanceMethod(self.m_client, self, self.__method(name))
elif not name in self.m_inst.properties.keys():
- return LmiErrorHandler("'%s' is not valid property of the class '%s'" % (name, self.m_klass.classname))
+ return _LmiErrorHandler("'%s' is not valid property of the class '%s'" % (name, self.m_klass.classname))
return self.m_inst.properties[name].value
def __getitem__(self, key):
@@ -211,7 +211,7 @@ class LmiInstance(object):
def printMethods(self, detailed = False):
self.m_klass.printMethods(detailed)
-class LmiShellClient(LmiBaseClient):
+class _LmiShellClient(LmiBaseClient):
def __init__(self, hostname, username = "", password = ""):
super(self.__class__, self).__init__(hostname, username, password)
@@ -230,6 +230,10 @@ class LmiShellClient(LmiBaseClient):
def callMethodRaw(self, instance, method, **params):
return self._callMethodRaw(instance, method, **params)
+class LmiShell(object):
+ def __init__(self, hostname, username = "", password = ""):
+ self.m_shell_client = _LmiShellClient(hostname, username, password)
+
def printNamespaces(self):
sys.stdout.write("root\n")
sys.stdout.write("cimv2\n")
@@ -237,12 +241,12 @@ class LmiShellClient(LmiBaseClient):
@property
def root(self):
- return LmiNamespace(self, "root")
+ return _LmiNamespace(self.m_shell_client, "root")
@property
def cimv2(self):
- return LmiNamespace(self, "root/cimv2")
+ return _LmiNamespace(self.m_shell_client, "root/cimv2")
@property
def interop(self):
- return LmiNamespace(self, "root/interop")
+ return _LmiNamespace(self.m_shell_client, "root/interop")
11 years, 6 months
[cura-tools] master: apply lmi changes to configure.ac (9164494)
by phatina@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/cura-tools.git
On branch : master
>---------------------------------------------------------------
commit 9164494d5fda2866a42eacc32f129e348368fd3d
Author: Peter Hatina <phatina(a)redhat.com>
Date: Tue Oct 23 15:03:30 2012 +0200
apply lmi changes to configure.ac
>---------------------------------------------------------------
configure.ac | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/configure.ac b/configure.ac
index 586d5dd..d33db4d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12,7 +12,7 @@ AC_PYTHON_MODULE([pywbem])
AC_CONFIG_FILES([
makefile
cli-tools/makefile
- cli-tools/fmci/makefile
+ cli-tools/lmi/makefile
])
AC_OUTPUT
11 years, 6 months
[cura-tools] master: update readme wrt lmi-shell (9f7b595)
by phatina@fedorahosted.org
Repository : http://git.fedorahosted.org/cgit/cura-tools.git
On branch : master
>---------------------------------------------------------------
commit 9f7b5950fede40e9124b4a7dde15e99811346a21
Author: Peter Hatina <phatina(a)redhat.com>
Date: Tue Oct 23 14:56:43 2012 +0200
update readme wrt lmi-shell
>---------------------------------------------------------------
README | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/README b/README
index 33d325d..6e382b2 100644
--- a/README
+++ b/README
@@ -17,26 +17,29 @@ OpenLMI-tools is a set of command line tools for OpenLMI-providers.
Following cli tools are part of this sub-project:
-* fmci-service.py
+* lmi-service.py
This tool provides remote service management. Supported operations with
services are: start, stop, restart, enable, disable, reload, try-restart,
cond-restart, reload-or-restart and status.
-* fmci-power.py
+* lmi-power.py
This tool provides remote power management. Supported operations with
remote machine are: poweroff, reboot, suspend, hibernate, force-poweroff,
force-reboot.
-* fmci-user.py
+* lmi-user.py
This tool provides remote user management. Currently supported operations
are: list-users, list-groups, group-members (list of groups, where
the specified user belongs to), useradd.
-* fmci-ip.py
+* lmi-ip.py
This tool provides remote networking management. Currently it provides
following operations: set static ip address, remove address assigned
to an interface, list ip address setting for all/selected interface.
+* lmi-shell.py
+ This tool provides interactive shell for CIM objects management.
+
*******************************************************************************
* Build Dependencies *
*******************************************************************************
11 years, 6 months
[cura-tools] master: rename fmci to lmi (ae39fcc)
by phatina@fedorahosted.org
Repository : http://git.fedorahosted.org/cgit/cura-tools.git
On branch : master
>---------------------------------------------------------------
commit ae39fcc0012e4823ed0176171461c2720c84572a
Author: Peter Hatina <phatina(a)redhat.com>
Date: Tue Oct 23 14:39:29 2012 +0200
rename fmci to lmi
>---------------------------------------------------------------
cli-tools/fmci/makefile.am | 12 -----
cli-tools/{fmci-ip.py => lmi-ip.py} | 40 +++++++++---------
cli-tools/{fmci-power.py => lmi-power.py} | 14 +++---
cli-tools/{fmci-service.py => lmi-service.py} | 14 +++---
cli-tools/{fmci-shell.py => lmi-shell.py} | 16 ++++----
cli-tools/{fmci-user.py => lmi-user.py} | 14 +++---
cli-tools/{fmci => lmi}/__init__.py | 0
.../{fmci/fmci_address.py => lmi/lmi_address.py} | 44 ++++++++++----------
.../fmci_client_base.py => lmi/lmi_client_base.py} | 2 +-
.../fmci_client_ip.py => lmi/lmi_client_ip.py} | 26 ++++++------
.../lmi_client_power.py} | 14 +++---
.../lmi_client_service.py} | 10 ++--
.../lmi_client_shell.py} | 42 +++++++++---------
.../fmci_client_user.py => lmi/lmi_client_user.py} | 22 +++++-----
.../{fmci/fmci_options.py => lmi/lmi_options.py} | 2 +-
cli-tools/lmi/makefile.am | 12 +++++
cli-tools/makefile.am | 12 +++---
17 files changed, 148 insertions(+), 148 deletions(-)
diff --git a/cli-tools/fmci/makefile.am b/cli-tools/fmci/makefile.am
deleted file mode 100644
index 2f03b4c..0000000
--- a/cli-tools/fmci/makefile.am
+++ /dev/null
@@ -1,12 +0,0 @@
-fmci_PYTHON = \
- fmci_address.py \
- fmci_client_base.py \
- fmci_client_ip.py \
- fmci_client_power.py \
- fmci_client_service.py \
- fmci_client_shell.py \
- fmci_client_user.py \
- fmci_options.py \
- __init__.py
-
-fmcidir = $(pythondir)/fmci
diff --git a/cli-tools/fmci-ip.py b/cli-tools/lmi-ip.py
similarity index 79%
rename from cli-tools/fmci-ip.py
rename to cli-tools/lmi-ip.py
index 2c4986e..29fee3c 100755
--- a/cli-tools/fmci-ip.py
+++ b/cli-tools/lmi-ip.py
@@ -17,11 +17,11 @@
import os
import sys
-from fmci.fmci_options import FmciBasicOptions
-from fmci.fmci_address import FmciIpv4Addr, FmciHostGenerator
-from fmci.fmci_client_ip import FmciIpClient
+from lmi.lmi_options import LmiBasicOptions
+from lmi.lmi_address import LmiIpv4Addr, LmiHostGenerator
+from lmi.lmi_client_ip import LmiIpClient
-class FmciIpOptions(FmciBasicOptions):
+class LmiIpOptions(LmiBasicOptions):
OBJ_UNKNOWN, OBJ_ADDR, OBJ_ROUTE = range(3)
OP_UNKNOWN, OP_SHOW, OP_SET, OP_DEL = range(4)
@@ -34,8 +34,8 @@ class FmciIpOptions(FmciBasicOptions):
" addr del dev [interface]\n")
self.m_parser.set_usage("Usage: %prog [options] object [command] (dev [device])")
self.m_good = True
- self.m_operation = FmciIpOptions.OP_UNKNOWN
- self.m_object = FmciIpOptions.OBJ_UNKNOWN
+ self.m_operation = LmiIpOptions.OP_UNKNOWN
+ self.m_object = LmiIpOptions.OBJ_UNKNOWN
self.m_device = ""
self.m_ifaddr = ""
@@ -81,21 +81,21 @@ class FmciIpOptions(FmciBasicOptions):
self.__parseDev()
def __parseOpShow(self):
- self.m_operation = FmciIpOptions.OP_SHOW
+ self.m_operation = LmiIpOptions.OP_SHOW
arg = self.m_pos_options[0] if len(self.m_pos_options) else ""
if arg:
self.__parseDev()
def __parseOpSet(self):
- self.m_operation = FmciIpOptions.OP_SET
+ self.m_operation = LmiIpOptions.OP_SET
self.__parseOpWithIfaddr()
def __parseOpDel(self):
- self.m_operation = FmciIpOptions.OP_DEL
+ self.m_operation = LmiIpOptions.OP_DEL
self.__parseDev()
def __parseAddr(self):
- self.m_object = FmciIpOptions.OBJ_ADDR
+ self.m_object = LmiIpOptions.OBJ_ADDR
arg = self.__posOptionsPopFront()
if arg == "show":
self.__parseOpShow()
@@ -104,11 +104,11 @@ class FmciIpOptions(FmciBasicOptions):
elif arg == "del":
self.__parseOpDel()
else:
- self.m_operation = FmciIpOptions.OP_UNKNOWN
+ self.m_operation = LmiIpOptions.OP_UNKNOWN
self.m_good = False
def __parseRoute(self):
- self.m_object = FmciIpOptions.OBJ_ROUTE
+ self.m_object = LmiIpOptions.OBJ_ROUTE
def parseCmds(self):
arg = self.__posOptionsPopFront()
@@ -120,7 +120,7 @@ class FmciIpOptions(FmciBasicOptions):
self.m_good = False
if __name__ == "__main__":
- options = FmciIpOptions()
+ options = LmiIpOptions()
options.parse(sys.argv)
if not options.good:
options.printWrongUsage()
@@ -131,24 +131,24 @@ if __name__ == "__main__":
sys.exit(1)
client_failed = False
- client_hostnames = FmciHostGenerator.enumerate(options.hostname)
+ client_hostnames = LmiHostGenerator.enumerate(options.hostname)
for client_hostname in client_hostnames:
if not client_hostname:
continue
- client = FmciIpClient(client_hostname.name, options.username, options.password)
+ client = LmiIpClient(client_hostname.name, options.username, options.password)
rval = True
errorstr = ""
- if options.object == FmciIpOptions.OBJ_ADDR:
- if options.operation == FmciIpOptions.OP_SHOW:
+ if options.object == LmiIpOptions.OBJ_ADDR:
+ if options.operation == LmiIpOptions.OP_SHOW:
if options.device:
(rval, errorstr) = client.ipListDevices(options.device)
else:
(rval, errorstr) = client.ipListDevices()
- elif options.operation == FmciIpOptions.OP_SET:
+ elif options.operation == LmiIpOptions.OP_SET:
(rval, errorstr) = client.ipSetAddress(options.device, options.ifaddr)
- elif options.operation == FmciIpOptions.OP_DEL:
+ elif options.operation == LmiIpOptions.OP_DEL:
(rval, errorstr) = client.ipDelAddress(options.device)
- elif options.object == FmciIpOptions.OBJ_ROUTE:
+ elif options.object == LmiIpOptions.OBJ_ROUTE:
# TODO: implement
sys.stderr.write("Route operation not implemented yet!\n")
sys.exit(1)
diff --git a/cli-tools/fmci-power.py b/cli-tools/lmi-power.py
similarity index 85%
rename from cli-tools/fmci-power.py
rename to cli-tools/lmi-power.py
index d90a6d3..08b7e28 100755
--- a/cli-tools/fmci-power.py
+++ b/cli-tools/lmi-power.py
@@ -16,11 +16,11 @@
import sys
-from fmci.fmci_options import FmciBasicOptions
-from fmci.fmci_address import FmciIpv4Addr, FmciHostGenerator
-from fmci.fmci_client_power import FmciPowerClient
+from lmi.lmi_options import LmiBasicOptions
+from lmi.lmi_address import LmiIpv4Addr, LmiHostGenerator
+from lmi.lmi_client_power import LmiPowerClient
-class FmciPowerOptions(FmciBasicOptions):
+class LmiPowerOptions(LmiBasicOptions):
def __init__(self):
super(self.__class__, self).__init__(
"Available actions:\n"
@@ -37,19 +37,19 @@ class FmciPowerOptions(FmciBasicOptions):
return self.m_pos_options[0] if self.good and self.m_pos_options[0] else ""
if __name__ == "__main__":
- options = FmciPowerOptions()
+ options = LmiPowerOptions()
options.parse(sys.argv)
if not options.good:
options.printWrongUsage()
sys.exit(1)
client_failed = False
- client_hostnames = FmciHostGenerator.enumerate(options.hostname)
+ client_hostnames = LmiHostGenerator.enumerate(options.hostname)
client_action = options.action.lower()
for client_hostname in client_hostnames:
if not client_hostname:
continue
- client = FmciPowerClient(client_hostname.name, options.username, options.password)
+ client = LmiPowerClient(client_hostname.name, options.username, options.password)
actions = {
"reboot": (client.reboot, "Reboot: "),
"poweroff": (client.poweroff, "Poweroff: "),
diff --git a/cli-tools/fmci-service.py b/cli-tools/lmi-service.py
similarity index 88%
rename from cli-tools/fmci-service.py
rename to cli-tools/lmi-service.py
index b446cf8..48aa909 100755
--- a/cli-tools/fmci-service.py
+++ b/cli-tools/lmi-service.py
@@ -16,11 +16,11 @@
import sys
-from fmci.fmci_options import FmciBasicOptions
-from fmci.fmci_address import FmciIpv4Addr, FmciHostGenerator
-from fmci.fmci_client_service import FmciServiceClient
+from lmi.lmi_options import LmiBasicOptions
+from lmi.lmi_address import LmiIpv4Addr, LmiHostGenerator
+from lmi.lmi_client_service import LmiServiceClient
-class FmciServiceOptions(FmciBasicOptions):
+class LmiServiceOptions(LmiBasicOptions):
def __init__(self):
super(self.__class__, self).__init__(
"Available actions:\n"
@@ -44,19 +44,19 @@ class FmciServiceOptions(FmciBasicOptions):
return self.m_pos_options[1] if self.good and self.m_pos_options[1] else ""
if __name__ == "__main__":
- options = FmciServiceOptions()
+ options = LmiServiceOptions()
options.parse(sys.argv)
if not options.good:
options.printWrongUsage()
sys.exit(1)
client_failed = False
- client_hostnames = FmciHostGenerator.enumerate(options.hostname)
+ client_hostnames = LmiHostGenerator.enumerate(options.hostname)
client_action = options.action.lower()
for client_hostname in client_hostnames:
if not client_hostname:
continue
- client = FmciServiceClient(client_hostname.name, options.username, options.password)
+ client = LmiServiceClient(client_hostname.name, options.username, options.password)
(service, errorstr) = client.serviceFind(options.service)
if not service:
sys.stderr.write("%s: %s\n" % (client_hostname.name, errorstr))
diff --git a/cli-tools/fmci-shell.py b/cli-tools/lmi-shell.py
old mode 100644
new mode 100755
similarity index 85%
rename from cli-tools/fmci-shell.py
rename to cli-tools/lmi-shell.py
index 3825cf4..8016f61
--- a/cli-tools/fmci-shell.py
+++ b/cli-tools/lmi-shell.py
@@ -17,15 +17,15 @@
import os
import sys
import code
-from fmci.fmci_client_shell import FmciShellClient
+from lmi.lmi_client_shell import LmiShellClient
-class FmciInteractiveShell(code.InteractiveConsole):
+class LmiInteractiveShell(code.InteractiveConsole):
def __init__(self, prompt, more_prompt, locals = None):
sys.ps1 = prompt
sys.ps2 = more_prompt
if locals == None:
locals = {}
- locals["FmciShellClient"] = FmciShellClient
+ locals["LmiShellClient"] = LmiShellClient
locals["connect"] = connect
code.InteractiveConsole.__init__(self, locals)
@@ -61,8 +61,8 @@ class FmciInteractiveShell(code.InteractiveConsole):
self.resetbuffer()
more = 0
-def fmci_interact(prompt = "> ", more_prompt = "... "):
- console = FmciInteractiveShell(prompt, more_prompt)
+def lmi_interact(prompt = "> ", more_prompt = "... "):
+ console = LmiInteractiveShell(prompt, more_prompt)
try:
import readline
except ImportError:
@@ -70,13 +70,13 @@ def fmci_interact(prompt = "> ", more_prompt = "... "):
console.interact()
def connect(hostname, username = "", password = ""):
- return FmciShellClient(hostname, username, password)
+ return LmiShellClient(hostname, username, password)
if __name__ == "__main__":
if len(sys.argv) < 2:
- fmci_interact()
+ lmi_interact()
else:
- locals = { "FmciShellClient" : FmciShellClient }
+ locals = { "LmiShellClient" : LmiShellClient }
i = 1
while sys.argv[i].startswith("-"):
i += 1
diff --git a/cli-tools/fmci-user.py b/cli-tools/lmi-user.py
similarity index 94%
rename from cli-tools/fmci-user.py
rename to cli-tools/lmi-user.py
index 64ce6e3..12bdbc9 100755
--- a/cli-tools/fmci-user.py
+++ b/cli-tools/lmi-user.py
@@ -17,11 +17,11 @@
import os
import sys
-from fmci.fmci_options import FmciBasicOptions
-from fmci.fmci_address import FmciIpv4Addr, FmciHostGenerator
-from fmci.fmci_client_user import FmciUserClient
+from lmi.lmi_options import LmiBasicOptions
+from lmi.lmi_address import LmiIpv4Addr, LmiHostGenerator
+from lmi.lmi_client_user import LmiUserClient
-class FmciUserOptions(FmciBasicOptions):
+class LmiUserOptions(LmiBasicOptions):
def __init__(self):
script_name = os.path.basename(__file__)
super(self.__class__, self).__init__(
@@ -133,19 +133,19 @@ class FmciUserOptions(FmciBasicOptions):
return self.m_options.uid if self.good and self.m_options.uid else ""
if __name__ == "__main__":
- options = FmciUserOptions()
+ options = LmiUserOptions()
options.parse(sys.argv)
if not options.good:
options.printWrongUsage()
sys.exit(1)
client_failed = False
- client_hostnames = FmciHostGenerator.enumerate(options.hostname)
+ client_hostnames = LmiHostGenerator.enumerate(options.hostname)
client_action = options.action.lower()
for client_hostname in client_hostnames:
if not client_hostname:
continue
- client = FmciUserClient(client_hostname.name, options.username, options.password)
+ client = LmiUserClient(client_hostname.name, options.username, options.password)
actions = {
"list-users" : client.listUsers,
"list-groups" : client.listGroups
diff --git a/cli-tools/fmci/__init__.py b/cli-tools/lmi/__init__.py
similarity index 100%
rename from cli-tools/fmci/__init__.py
rename to cli-tools/lmi/__init__.py
diff --git a/cli-tools/fmci/fmci_address.py b/cli-tools/lmi/lmi_address.py
similarity index 85%
rename from cli-tools/fmci/fmci_address.py
rename to cli-tools/lmi/lmi_address.py
index da4b832..119af2b 100644
--- a/cli-tools/fmci/fmci_address.py
+++ b/cli-tools/lmi/lmi_address.py
@@ -17,21 +17,21 @@ import re
import sys
import itertools
-class FmciHost(object):
+class LmiHost(object):
def __init__(self, host):
self.m_host = host
@property
def name(self):
- if isinstance(self.m_host, FmciIpv4Addr):
+ if isinstance(self.m_host, LmiIpv4Addr):
return self.m_host.address
- elif isinstance(self.m_host, FmciIpv6Addr):
+ elif isinstance(self.m_host, LmiIpv6Addr):
return self.m_host.address
else:
return self.m_host
-class FmciIpv4Addr(object):
- class FmciIpv4Member(object):
+class LmiIpv4Addr(object):
+ class LmiIpv4Member(object):
def __init__(self, member):
self.m_member = member
@@ -95,7 +95,7 @@ class FmciIpv4Addr(object):
return []
members = []
for m in str_members:
- members.append(FmciIpv4Addr.FmciIpv4Member(m))
+ members.append(LmiIpv4Addr.LmiIpv4Member(m))
addresses = members[-1].enumerate()
if not addresses:
return []
@@ -109,10 +109,10 @@ class FmciIpv4Addr(object):
addresses = combined
rval = []
for addr in sorted(set(addresses)):
- rval.append(FmciHost(FmciIpv4Addr(addr)))
+ rval.append(LmiHost(LmiIpv4Addr(addr)))
return rval
-class FmciIpv6Addr(object):
+class LmiIpv6Addr(object):
def __init__(self, addr):
self.m_addr = addr
@@ -120,7 +120,7 @@ class FmciIpv6Addr(object):
def address(self):
return self.m_addr
- class FmciIpv6Member(object):
+ class LmiIpv6Member(object):
def __init__(self, member):
self.m_member = member
@@ -151,7 +151,7 @@ class FmciIpv6Addr(object):
str_members = pattern.split(":")
members = []
for m in str_members:
- members.append(FmciIpv6Addr.FmciIpv6Member(m))
+ members.append(LmiIpv6Addr.LmiIpv6Member(m))
addresses = members[-1].enumerate()
if not addresses:
return []
@@ -165,10 +165,10 @@ class FmciIpv6Addr(object):
addresses = combined
rval = []
for addr in sorted(set(addresses)):
- rval.append(FmciHost(FmciIpv6Addr(addr)))
+ rval.append(LmiHost(LmiIpv6Addr(addr)))
return rval
-class FmciHostGenerator(object):
+class LmiHostGenerator(object):
PATTERN_TYPE_FQDN, \
PATTERN_TYPE_IPV4, \
PATTERN_TYPE_IPV6 = range(3)
@@ -183,7 +183,7 @@ class FmciHostGenerator(object):
"}|[\d]{1,3}-[\d]{1,3})(;([\d]{1,3}|[\d]{1,3}-[\d]{1"
",3}))*\}))\.(([\d]{1,3})|(\{([\d]{1,3}|[\d]{1,3}-["
"\d]{1,3})(;([\d]{1,3}|[\d]{1,3}-[\d]{1,3}))*\}))$",
- FmciHostGenerator.PATTERN_TYPE_IPV4),
+ LmiHostGenerator.PATTERN_TYPE_IPV4),
("^(([\da-fA-F]{1,4})|(\{([\da-fA-F]{1,4}|[\da-fA-F]{"
"1,4}-[\da-fA-F]{1,4})(;([\da-fA-F]{1,4}|[\da-fA-F]"
"{1,4}-[\da-fA-F]{1,4}))*\})){0,1}(:(([\da-fA-F]{1,"
@@ -192,24 +192,24 @@ class FmciHostGenerator(object):
"]{1,4}))*\})*)){0,6}:(([\da-fA-F]{1,4})|(\{([\da-f"
"A-F]{1,4}|[\da-fA-F]{1,4}-[\da-fA-F]{1,4})(;([\da-f"
"A-F]{1,4}|[\da-fA-F]{1,4}-[\da-fA-F]{1,4}))*\}))$",
- FmciHostGenerator.PATTERN_TYPE_IPV6)
+ LmiHostGenerator.PATTERN_TYPE_IPV6)
)
for (p, rval) in pattern_regexps:
if re.match(p, pattern):
return rval
- return FmciHostGenerator.PATTERN_TYPE_FQDN
+ return LmiHostGenerator.PATTERN_TYPE_FQDN
@staticmethod
def enumerate(lst):
rval = []
for pattern in lst.split(","):
- pattern_type = FmciHostGenerator.recognizePatternType(pattern)
- if pattern_type == FmciHostGenerator.PATTERN_TYPE_FQDN:
- rval.append(FmciHost(pattern))
- elif pattern_type == FmciHostGenerator.PATTERN_TYPE_IPV4:
- rval.extend(FmciIpv4Addr.enumerate(pattern))
- elif pattern_type == FmciHostGenerator.PATTERN_TYPE_IPV6:
- rval.extend(FmciIpv6Addr.enumerate(pattern))
+ pattern_type = LmiHostGenerator.recognizePatternType(pattern)
+ if pattern_type == LmiHostGenerator.PATTERN_TYPE_FQDN:
+ rval.append(LmiHost(pattern))
+ elif pattern_type == LmiHostGenerator.PATTERN_TYPE_IPV4:
+ rval.extend(LmiIpv4Addr.enumerate(pattern))
+ elif pattern_type == LmiHostGenerator.PATTERN_TYPE_IPV6:
+ rval.extend(LmiIpv6Addr.enumerate(pattern))
else:
sys.stderr.write("Unrecognized host pattern supplied!\n")
return []
diff --git a/cli-tools/fmci/fmci_client_base.py b/cli-tools/lmi/lmi_client_base.py
similarity index 99%
rename from cli-tools/fmci/fmci_client_base.py
rename to cli-tools/lmi/lmi_client_base.py
index 48b61cf..0a26972 100644
--- a/cli-tools/fmci/fmci_client_base.py
+++ b/cli-tools/lmi/lmi_client_base.py
@@ -15,7 +15,7 @@
import pywbem
-class FmciBaseClient(object):
+class LmiBaseClient(object):
def __init__(self, hostname, username = "", password = ""):
self.m_hostname = hostname
self.m_username = username
diff --git a/cli-tools/fmci/fmci_client_ip.py b/cli-tools/lmi/lmi_client_ip.py
similarity index 85%
rename from cli-tools/fmci/fmci_client_ip.py
rename to cli-tools/lmi/lmi_client_ip.py
index d86b8dd..0d15b02 100644
--- a/cli-tools/fmci/fmci_client_ip.py
+++ b/cli-tools/lmi/lmi_client_ip.py
@@ -15,10 +15,10 @@
import sys
import pywbem
-from fmci_client_base import FmciBaseClient
-from fmci_address import FmciIpv4Addr
+from lmi_client_base import LmiBaseClient
+from lmi_address import LmiIpv4Addr
-class FmciIpClient(FmciBaseClient):
+class LmiIpClient(LmiBaseClient):
LMI_ETHERNET_PORT_CLASS_NAME = "LMI_EthernetPort"
LMI_IP_ASSIGNMENT_SETTING_DATA_CLASS_NAME = "LMI_IPAssignmentSettingData"
IP_CONFIGURATION_SERVICE_CLASS_NAME = "LMI_IPConfigurationService"
@@ -30,7 +30,7 @@ class FmciIpClient(FmciBaseClient):
super(self.__class__, self).__init__(hostname, username, password)
def __ipGetIpProtocolEndpointInstances(self, device = ""):
- (inst_list, errorstr) = self._getInstances(FmciIpClient.IP_PROTOCOL_ENDPOINT_CLASS_NAME)
+ (inst_list, errorstr) = self._getInstances(LmiIpClient.IP_PROTOCOL_ENDPOINT_CLASS_NAME)
if not inst_list:
return (None, errorstr)
rval_inst_list = filter(lambda n: device == n["Name"].split("_")[0], inst_list) if device else inst_list
@@ -47,16 +47,16 @@ class FmciIpClient(FmciBaseClient):
def __ipGetAddressType(self, address):
# blind ipv4 check
- prot_type = FmciIpClient.IP_PROTOCOL_TYPE_IPV6
+ prot_type = LmiIpClient.IP_PROTOCOL_TYPE_IPV6
if address.count(".") == 3:
- prot_type = FmciIpClient.IP_PROTOCOL_TYPE_IPV4
+ prot_type = LmiIpClient.IP_PROTOCOL_TYPE_IPV4
return prot_type
def __ipGetEthernetPortInstance(self, device):
- return self._getInstances(FmciIpClient.LMI_ETHERNET_PORT_CLASS_NAME, device, Key = "DeviceID")
+ return self._getInstances(LmiIpClient.LMI_ETHERNET_PORT_CLASS_NAME, device, Key = "DeviceID")
def __ipGetIpAssignmentSettingData(self, device):
- (inst_list, errorstr) = self._getInstances(FmciIpClient.LMI_IP_ASSIGNMENT_SETTING_DATA_CLASS_NAME)
+ (inst_list, errorstr) = self._getInstances(LmiIpClient.LMI_IP_ASSIGNMENT_SETTING_DATA_CLASS_NAME)
if not inst_list:
return (None, errorstr)
inst_list = inst_list if type(inst_list) == list else [inst_list]
@@ -86,12 +86,12 @@ class FmciIpClient(FmciBaseClient):
"ProtocolIFType" : pywbem.Uint16(prot_type),
"Port" : device_inst.path
}
- if prot_type == FmciIpClient.IP_PROTOCOL_TYPE_IPV4:
- args["IPv4Address"] = FmciIpv4Addr(address).address
+ if prot_type == LmiIpClient.IP_PROTOCOL_TYPE_IPV4:
+ args["IPv4Address"] = LmiIpv4Addr(address).address
if "SubnetMask" in kwargs:
args["IPv4SubnetMask"] = kwargs["SubnetMask"]
else:
- args["IPv4SubnetMask"] = FmciIpv4Addr(address).netmask
+ args["IPv4SubnetMask"] = LmiIpv4Addr(address).netmask
if "DefaultGateway" in kwargs:
args["IPv4DefaultGateway"] = kwargs["DefaultGateway"]
if "DNSServers" in kwargs:
@@ -108,13 +108,13 @@ class FmciIpClient(FmciBaseClient):
args["IPv6SearchDomains"] = kwargs["SearchDomains"]
if "PrefixLength" in kwargs:
args["IPv6PrefixLength"] = pywbem.Uint8(kwargs["PrefixLength"])
- (configuration_inst, errorstr) = self._getInstances(FmciIpClient.IP_CONFIGURATION_SERVICE_CLASS_NAME)
+ (configuration_inst, errorstr) = self._getInstances(LmiIpClient.IP_CONFIGURATION_SERVICE_CLASS_NAME)
if not configuration_inst:
return (False, {}, errorstr)
return self._callMethod(configuration_inst, "CreateStaticSetting", **args)
def __ipApplyStaticSetting(self, device, setting_inst):
- (configuration_inst, errorstr) = self._getInstances(FmciIpClient.IP_CONFIGURATION_SERVICE_CLASS_NAME)
+ (configuration_inst, errorstr) = self._getInstances(LmiIpClient.IP_CONFIGURATION_SERVICE_CLASS_NAME)
if not configuration_inst:
return (False, errorstr)
(device_inst, errorstr) = self.__ipGetIpProtocolEndpointInstances(device)
diff --git a/cli-tools/fmci/fmci_client_power.py b/cli-tools/lmi/lmi_client_power.py
similarity index 78%
rename from cli-tools/fmci/fmci_client_power.py
rename to cli-tools/lmi/lmi_client_power.py
index 2273df5..8df335e 100644
--- a/cli-tools/fmci/fmci_client_power.py
+++ b/cli-tools/lmi/lmi_client_power.py
@@ -14,9 +14,9 @@
# along with this program; if not, see <http://www.gnu.org/licenses/>.
import pywbem
-from fmci_client_base import FmciBaseClient
+from lmi_client_base import LmiBaseClient
-class FmciPowerClient(FmciBaseClient):
+class LmiPowerClient(LmiBaseClient):
POWER_CLASS_NAME = "LMI_PowerManagementService"
POWER_STATE_SUSPEND = 4
POWER_STATE_FORCE_REBOOT = 5
@@ -29,7 +29,7 @@ class FmciPowerClient(FmciBaseClient):
super(self.__class__, self).__init__(hostname, username, password)
def __powerCallMethod(self, method, **params):
- (inst, rparam) = self._getInstances(FmciPowerClient.POWER_CLASS_NAME)
+ (inst, rparam) = self._getInstances(LmiPowerClient.POWER_CLASS_NAME)
if not inst:
return (False, rparam)
(rval, _, errorstr) = self._callMethod(inst[0], method, **params)
@@ -38,16 +38,16 @@ class FmciPowerClient(FmciBaseClient):
def poweroff(self):
return self.__powerCallMethod("RequestPowerStateChange",
- PowerState=pywbem.Uint16(FmciPowerClient.POWER_STATE_POWEROFF))
+ PowerState=pywbem.Uint16(LmiPowerClient.POWER_STATE_POWEROFF))
def reboot(self):
return self.__powerCallMethod("RequestPowerStateChange",
- PowerState=pywbem.Uint16(FmciPowerClient.POWER_STATE_REBOOT))
+ PowerState=pywbem.Uint16(LmiPowerClient.POWER_STATE_REBOOT))
def suspend(self):
return self.__powerCallMethod("RequestPowerStateChange",
- PowerState=pywbem.Uint16(FmciPowerClient.POWER_STATE_SUSPEND))
+ PowerState=pywbem.Uint16(LmiPowerClient.POWER_STATE_SUSPEND))
def hibernate(self):
return self.__powerCallMethod("RequestPowerStateChange",
- PowerState=pywbem.Uint16(FmciPowerClient.POWER_STATE_HIBERNATE))
+ PowerState=pywbem.Uint16(LmiPowerClient.POWER_STATE_HIBERNATE))
diff --git a/cli-tools/fmci/fmci_client_service.py b/cli-tools/lmi/lmi_client_service.py
similarity index 95%
rename from cli-tools/fmci/fmci_client_service.py
rename to cli-tools/lmi/lmi_client_service.py
index 3f78762..3008f84 100644
--- a/cli-tools/fmci/fmci_client_service.py
+++ b/cli-tools/lmi/lmi_client_service.py
@@ -14,9 +14,9 @@
# along with this program; if not, see <http://www.gnu.org/licenses/>.
import pywbem
-from fmci_client_base import FmciBaseClient
+from lmi_client_base import LmiBaseClient
-class FmciService(object):
+class LmiService(object):
def __init__(self, client, inst):
self.m_client = client
self.m_instance = inst
@@ -54,7 +54,7 @@ class FmciService(object):
def status(self):
return self.m_client.serviceStatus(self.m_instance)
-class FmciServiceClient(FmciBaseClient):
+class LmiServiceClient(LmiBaseClient):
SERVICE_CLASS_NAME = "LMI_Service"
def __init__(self, hostname, username = "", password = ""):
@@ -62,7 +62,7 @@ class FmciServiceClient(FmciBaseClient):
def __serviceGetInstance(self, service):
(inst, errorstr) = self._getInstances(
- FmciServiceClient.SERVICE_CLASS_NAME, service,
+ LmiServiceClient.SERVICE_CLASS_NAME, service,
ErrorMsg = "No such service '" + service + "' found")
if not inst:
return (None, errorstr)
@@ -85,7 +85,7 @@ class FmciServiceClient(FmciBaseClient):
(inst, errorstr) = self.__serviceGetInstance(service)
if not inst:
return (None, errorstr)
- return (FmciService(self, inst), "")
+ return (LmiService(self, inst), "")
def serviceStart(self, service):
return self.__serviceCallMethod(service, "StartService")
diff --git a/cli-tools/fmci/fmci_client_shell.py b/cli-tools/lmi/lmi_client_shell.py
similarity index 87%
rename from cli-tools/fmci/fmci_client_shell.py
rename to cli-tools/lmi/lmi_client_shell.py
index 3d26420..7417aaa 100644
--- a/cli-tools/fmci/fmci_client_shell.py
+++ b/cli-tools/lmi/lmi_client_shell.py
@@ -17,30 +17,30 @@ import new
import sys
import pywbem
import inspect
-from fmci_client_base import FmciBaseClient
+from lmi_client_base import LmiBaseClient
-class FmciErrorHandler(object):
+class LmiErrorHandler(object):
def __init__(self, errormsg):
super(self.__class__, self).__init__()
if errormsg:
sys.stderr.write("Error: %s\n" % errormsg)
def __getattr__(self, name):
- return FmciErrorHandler("")
+ return LmiErrorHandler("")
def __call__(self, *args, **kwargs):
- return FmciErrorHandler("")
+ return LmiErrorHandler("")
def __iter__(self):
- return FmciErrorHandler("")
+ return LmiErrorHandler("")
def __getitem__(self, key):
- return FmciErrorHandler("")
+ return LmiErrorHandler("")
def __str__(self):
return ""
-class FmciNamespace(object):
+class LmiNamespace(object):
def __init__(self, client, name):
super(self.__class__, self).__init__()
self.m_client = client
@@ -51,8 +51,8 @@ class FmciNamespace(object):
return self.m_name
(klass, errorstr) = self.m_client.getClass(name, self.m_name)
if not klass:
- return FmciErrorHandler("Error: %s" % errorstr)
- return FmciClass(self.m_client, self, klass)
+ return LmiErrorHandler("Error: %s" % errorstr)
+ return LmiClass(self.m_client, self, klass)
def printClasses(self, filter_key = "", exact_match = False):
(class_name_list, errorstr) = self.m_client.getClassNames(self.m_name)
@@ -71,7 +71,7 @@ class FmciNamespace(object):
for c in class_name_list:
sys.stdout.write("%s\n" % c)
-class FmciClass(object):
+class LmiClass(object):
def __init__(self, client, namespace, klass):
super(self.__class__, self).__init__()
self.m_client = client
@@ -92,16 +92,16 @@ class FmciClass(object):
def instances(self, filter_key = "", **kwargs):
instance_list = self.m_client.getInstances(self.m_klass.classname, filter_key, **kwargs)
if not instance_list:
- return FmciErrorHandler("'%s' instance does not exist" % filter_key)
+ return LmiErrorHandler("'%s' instance does not exist" % filter_key)
result = []
for i in instance_list:
- result.append(FmciInstance(self.m_client, self, i))
+ result.append(LmiInstance(self.m_client, self, i))
return result
def firstInstance(self, filter_key = "", **kwargs):
instance_list = self.instances(filter_key, **kwargs)
if not instance_list:
- return FmciErrorHandler("'%s' instance does not exist" % filter_key)
+ return LmiErrorHandler("'%s' instance does not exist" % filter_key)
return instance_list[0]
def printProperties(self, detailed = False):
@@ -138,8 +138,8 @@ class FmciClass(object):
def namespace(self):
return self.m_namespace.name
-class FmciInstance(object):
- class FmciInstanceMethod(object):
+class LmiInstance(object):
+ class LmiInstanceMethod(object):
def __init__(self, client, instance, method):
super(self.__class__, self).__init__()
self.m_client = client
@@ -178,9 +178,9 @@ class FmciInstance(object):
def __getattr__(self, name):
methods = self.__methods()
if methods and name in methods:
- return FmciInstance.FmciInstanceMethod(self.m_client, self, self.__method(name))
+ return LmiInstance.LmiInstanceMethod(self.m_client, self, self.__method(name))
elif not name in self.m_inst.properties.keys():
- return FmciErrorHandler("'%s' is not valid property of the class '%s'" % (name, self.m_klass.classname))
+ return LmiErrorHandler("'%s' is not valid property of the class '%s'" % (name, self.m_klass.classname))
return self.m_inst.properties[name].value
def __getitem__(self, key):
@@ -211,7 +211,7 @@ class FmciInstance(object):
def printMethods(self, detailed = False):
self.m_klass.printMethods(detailed)
-class FmciShellClient(FmciBaseClient):
+class LmiShellClient(LmiBaseClient):
def __init__(self, hostname, username = "", password = ""):
super(self.__class__, self).__init__(hostname, username, password)
@@ -237,12 +237,12 @@ class FmciShellClient(FmciBaseClient):
@property
def root(self):
- return FmciNamespace(self, "root")
+ return LmiNamespace(self, "root")
@property
def cimv2(self):
- return FmciNamespace(self, "root/cimv2")
+ return LmiNamespace(self, "root/cimv2")
@property
def interop(self):
- return FmciNamespace(self, "root/interop")
+ return LmiNamespace(self, "root/interop")
diff --git a/cli-tools/fmci/fmci_client_user.py b/cli-tools/lmi/lmi_client_user.py
similarity index 86%
rename from cli-tools/fmci/fmci_client_user.py
rename to cli-tools/lmi/lmi_client_user.py
index b1c283c..783d3e6 100644
--- a/cli-tools/fmci/fmci_client_user.py
+++ b/cli-tools/lmi/lmi_client_user.py
@@ -15,9 +15,9 @@
import sys
import pywbem
-from fmci_client_base import FmciBaseClient
+from lmi_client_base import LmiBaseClient
-class FmciUserClient(FmciBaseClient):
+class LmiUserClient(LmiBaseClient):
USER_CLASS_NAME = "LMI_Account"
GROUP_CLASS_NAME = "LMI_Group"
MEMBER_OF_GROUP_CLASS_NAME = "LMI_MemberOfGroup"
@@ -29,19 +29,19 @@ class FmciUserClient(FmciBaseClient):
super(self.__class__, self).__init__(hostname, username, password)
def __getUserInstances(self):
- return self._getInstances(FmciUserClient.USER_CLASS_NAME)
+ return self._getInstances(LmiUserClient.USER_CLASS_NAME)
def __getGroupInstances(self):
- return self._getInstances(FmciUserClient.GROUP_CLASS_NAME)
+ return self._getInstances(LmiUserClient.GROUP_CLASS_NAME)
def __getAccountManagementInstance(self):
- (inst, errorstr) = self._getInstances(FmciUserClient.ACCOUNT_MANAGEMENT_SERVICE_CLASS_NAME)
+ (inst, errorstr) = self._getInstances(LmiUserClient.ACCOUNT_MANAGEMENT_SERVICE_CLASS_NAME)
if not inst:
return (None, errorstr)
return (inst[0], "")
def __getComputerSystemInstance(self):
- (inst, errorstr) = self._getInstances(FmciUserClient.COMPUTER_SYSTEM_CLASS_NAME)
+ (inst, errorstr) = self._getInstances(LmiUserClient.COMPUTER_SYSTEM_CLASS_NAME)
if not inst:
return (None, errorstr)
return (inst[0], "")
@@ -49,10 +49,10 @@ class FmciUserClient(FmciBaseClient):
def __getMemberGroups(self, inst):
members = []
identities = self.m_cliconn.Associators(inst.path,
- AssocClass = FmciUserClient.ASSIGNED_IDENTITY_CLASS_NAME)
+ AssocClass = LmiUserClient.ASSIGNED_IDENTITY_CLASS_NAME)
for identity in identities:
accounts = self.m_cliconn.Associators(identity.path,
- AssocClass = FmciUserClient.MEMBER_OF_GROUP_CLASS_NAME)
+ AssocClass = LmiUserClient.MEMBER_OF_GROUP_CLASS_NAME)
members.extend(accounts)
return members
@@ -60,10 +60,10 @@ class FmciUserClient(FmciBaseClient):
members = []
for g in inst:
identities = self.m_cliconn.Associators(g.path,
- AssocClass = FmciUserClient.MEMBER_OF_GROUP_CLASS_NAME)
+ AssocClass = LmiUserClient.MEMBER_OF_GROUP_CLASS_NAME)
for i in identities:
accounts = self.m_cliconn.Associators(i.path,
- AssocClass = FmciUserClient.ASSIGNED_IDENTITY_CLASS_NAME)
+ AssocClass = LmiUserClient.ASSIGNED_IDENTITY_CLASS_NAME)
for a in accounts:
members.append(a["Name"])
return members
@@ -94,7 +94,7 @@ class FmciUserClient(FmciBaseClient):
def listGroupMembers(self, member):
(inst_list, errorstr) = self._getInstances(
- FmciUserClient.GROUP_CLASS_NAME, member)
+ LmiUserClient.GROUP_CLASS_NAME, member)
if not inst_list:
return (False, "No such group '%s' found" % member)
members = self.__getGroupMembers(inst_list)
diff --git a/cli-tools/fmci/fmci_options.py b/cli-tools/lmi/lmi_options.py
similarity index 98%
rename from cli-tools/fmci/fmci_options.py
rename to cli-tools/lmi/lmi_options.py
index 14d758a..172a6d0 100644
--- a/cli-tools/fmci/fmci_options.py
+++ b/cli-tools/lmi/lmi_options.py
@@ -16,7 +16,7 @@
import sys
import optparse
-class FmciBasicOptions(object):
+class LmiBasicOptions(object):
def __init__(self, epil = ""):
optparse.OptionParser.format_epilog = lambda self, formatter: self.epilog
self.m_parser = optparse.OptionParser(
diff --git a/cli-tools/lmi/makefile.am b/cli-tools/lmi/makefile.am
new file mode 100644
index 0000000..ecc2e2c
--- /dev/null
+++ b/cli-tools/lmi/makefile.am
@@ -0,0 +1,12 @@
+lmi_PYTHON = \
+ lmi_address.py \
+ lmi_client_base.py \
+ lmi_client_ip.py \
+ lmi_client_power.py \
+ lmi_client_service.py \
+ lmi_client_shell.py \
+ lmi_client_user.py \
+ lmi_options.py \
+ __init__.py
+
+lmidir = $(pythondir)/lmi
diff --git a/cli-tools/makefile.am b/cli-tools/makefile.am
index 1d8f7a0..3d3b7a1 100644
--- a/cli-tools/makefile.am
+++ b/cli-tools/makefile.am
@@ -1,11 +1,11 @@
-SUBDIRS = fmci wsbios
+SUBDIRS = lmi wsbios
bin_SCRIPTS = \
- fmci-ip.py \
- fmci-power.py \
- fmci-service.py \
- fmci-shell.py \
- fmci-user.py
+ lmi-ip.py \
+ lmi-power.py \
+ lmi-service.py \
+ lmi-shell.py \
+ lmi-user.py
EXTRA_DIST = $(bin_SCRIPTS)
11 years, 6 months
[cura-tools] master: introduce fmci-shell (7391a6c)
by phatina@fedorahosted.org
Repository : http://git.fedorahosted.org/cgit/cura-tools.git
On branch : master
>---------------------------------------------------------------
commit 7391a6c8a12135bed5a494ddffe66f855866edd3
Author: Peter Hatina <phatina(a)redhat.com>
Date: Tue Oct 23 13:56:48 2012 +0200
introduce fmci-shell
>---------------------------------------------------------------
cli-tools/fmci-shell.py | 84 ++++++++++++
cli-tools/fmci/fmci_client_shell.py | 248 +++++++++++++++++++++++++++++++++++
cli-tools/fmci/makefile.am | 1 +
cli-tools/makefile.am | 1 +
4 files changed, 334 insertions(+), 0 deletions(-)
diff --git a/cli-tools/fmci-shell.py b/cli-tools/fmci-shell.py
new file mode 100644
index 0000000..3825cf4
--- /dev/null
+++ b/cli-tools/fmci-shell.py
@@ -0,0 +1,84 @@
+#!/usr/bin/env python
+# Copyright (C) 2012 Peter Hatina <phatina(a)redhat.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+
+import os
+import sys
+import code
+from fmci.fmci_client_shell import FmciShellClient
+
+class FmciInteractiveShell(code.InteractiveConsole):
+ def __init__(self, prompt, more_prompt, locals = None):
+ sys.ps1 = prompt
+ sys.ps2 = more_prompt
+ if locals == None:
+ locals = {}
+ locals["FmciShellClient"] = FmciShellClient
+ locals["connect"] = connect
+ code.InteractiveConsole.__init__(self, locals)
+
+ def interact(self):
+ try:
+ sys.ps1
+ except AttributeError:
+ sys.ps1 = ">>> "
+ try:
+ sys.ps2
+ except AttributeError:
+ sys.ps2 = "... "
+ more = 0
+ while 1:
+ try:
+ if more:
+ prompt = sys.ps2
+ else:
+ prompt = sys.ps1
+ try:
+ line = self.raw_input(prompt)
+ # Can be None if sys.stdin was redefined
+ encoding = getattr(sys.stdin, "encoding", None)
+ if encoding and not isinstance(line, unicode):
+ line = line.decode(encoding)
+ except EOFError:
+ self.write("\n")
+ break
+ else:
+ more = self.push(line)
+ except KeyboardInterrupt:
+ self.write("\n")
+ self.resetbuffer()
+ more = 0
+
+def fmci_interact(prompt = "> ", more_prompt = "... "):
+ console = FmciInteractiveShell(prompt, more_prompt)
+ try:
+ import readline
+ except ImportError:
+ pass
+ console.interact()
+
+def connect(hostname, username = "", password = ""):
+ return FmciShellClient(hostname, username, password)
+
+if __name__ == "__main__":
+ if len(sys.argv) < 2:
+ fmci_interact()
+ else:
+ locals = { "FmciShellClient" : FmciShellClient }
+ i = 1
+ while sys.argv[i].startswith("-"):
+ i += 1
+ execfile(sys.argv[i]) in locals
+ sys.exit(0)
diff --git a/cli-tools/fmci/fmci_client_shell.py b/cli-tools/fmci/fmci_client_shell.py
new file mode 100644
index 0000000..3d26420
--- /dev/null
+++ b/cli-tools/fmci/fmci_client_shell.py
@@ -0,0 +1,248 @@
+# Copyright (C) 2012 Peter Hatina <phatina(a)redhat.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+
+import new
+import sys
+import pywbem
+import inspect
+from fmci_client_base import FmciBaseClient
+
+class FmciErrorHandler(object):
+ def __init__(self, errormsg):
+ super(self.__class__, self).__init__()
+ if errormsg:
+ sys.stderr.write("Error: %s\n" % errormsg)
+
+ def __getattr__(self, name):
+ return FmciErrorHandler("")
+
+ def __call__(self, *args, **kwargs):
+ return FmciErrorHandler("")
+
+ def __iter__(self):
+ return FmciErrorHandler("")
+
+ def __getitem__(self, key):
+ return FmciErrorHandler("")
+
+ def __str__(self):
+ return ""
+
+class FmciNamespace(object):
+ def __init__(self, client, name):
+ super(self.__class__, self).__init__()
+ self.m_client = client
+ self.m_name = name
+
+ def __getattr__(self, name):
+ if name == "name":
+ return self.m_name
+ (klass, errorstr) = self.m_client.getClass(name, self.m_name)
+ if not klass:
+ return FmciErrorHandler("Error: %s" % errorstr)
+ return FmciClass(self.m_client, self, klass)
+
+ def printClasses(self, filter_key = "", exact_match = False):
+ (class_name_list, errorstr) = self.m_client.getClassNames(self.m_name)
+ if not class_name_list:
+ if errorstr:
+ sys.stderr.write("Error: %s\n" % errorstr)
+ else:
+ sys.stderr.write("No classes present in namespace '%s'\n" % self.m_name)
+ return
+ if filter_key:
+ if not exact_match:
+ filter_lambda = lambda n: n.lower().find(filter_key.lower()) >= 0
+ else:
+ filter_lambda = lambda n: n.lower() == filter_key.lower()
+ class_name_list = filter(filter_lambda, class_name_list)
+ for c in class_name_list:
+ sys.stdout.write("%s\n" % c)
+
+class FmciClass(object):
+ def __init__(self, client, namespace, klass):
+ super(self.__class__, self).__init__()
+ self.m_client = client
+ self.m_namespace = namespace
+ self.m_klass = klass
+
+ def __printMethod(self, method):
+ sys.stdout.write("Method name: %s\n" % method.name)
+ sys.stdout.write(" Return type: %s\n" % method.return_type)
+ for (name, param) in method.parameters.iteritems():
+ sys.stdout.write(" Parameter: %s: %s\n" % (name, param.type))
+
+ def __printProperty(self, prop):
+ sys.stdout.write("Property name: %s\n" % prop.name)
+ sys.stdout.write(" Type: %s\n" % prop.type)
+ sys.stdout.write(" Is Array: %s\n" % str(prop.is_array))
+
+ def instances(self, filter_key = "", **kwargs):
+ instance_list = self.m_client.getInstances(self.m_klass.classname, filter_key, **kwargs)
+ if not instance_list:
+ return FmciErrorHandler("'%s' instance does not exist" % filter_key)
+ result = []
+ for i in instance_list:
+ result.append(FmciInstance(self.m_client, self, i))
+ return result
+
+ def firstInstance(self, filter_key = "", **kwargs):
+ instance_list = self.instances(filter_key, **kwargs)
+ if not instance_list:
+ return FmciErrorHandler("'%s' instance does not exist" % filter_key)
+ return instance_list[0]
+
+ def printProperties(self, detailed = False):
+ for (name, prop) in self.m_klass.properties.iteritems():
+ if not detailed:
+ sys.stdout.write("%s\n" % name)
+ else:
+ self.__printProperty(prop)
+
+ def printProperty(self, prop_name):
+ try:
+ self.__printProperty(self.m_klass.properties[prop_name])
+ except KeyError, e:
+ sys.stderr.write("No such property '%s'\n" % prop_name)
+
+ def printMethods(self, detailed = False):
+ for (name, method) in self.m_klass.methods.iteritems():
+ if not detailed:
+ sys.stdout.write("%s\n" % name)
+ else:
+ self.__printMethod(method)
+
+ def printMethod(self, name):
+ try:
+ self.__printMethod(self.m_klass.methods[name])
+ except KeyError, e:
+ sys.stderr.write("No such method '%s' exists\n" % name)
+
+ @property
+ def classname(self):
+ return self.m_klass.classname
+
+ @property
+ def namespace(self):
+ return self.m_namespace.name
+
+class FmciInstance(object):
+ class FmciInstanceMethod(object):
+ def __init__(self, client, instance, method):
+ super(self.__class__, self).__init__()
+ self.m_client = client
+ self.m_instance = instance
+ self.m_method = method
+
+ def __call__(self, *args, **kwargs):
+ for (param, value) in kwargs.iteritems():
+ if param in self.m_method.parameters:
+ t = self.m_method.parameters[param].type.lower()
+ cast = {
+ "sint8" : lambda x: pywbem.Sint8(x),
+ "uint8" : lambda x: pywbem.Uint8(x),
+ "sint16" : lambda x: pywbem.Sint16(x),
+ "uint16" : lambda x: pywbem.Uint16(x),
+ "sint32" : lambda x: pywbem.Sint32(x),
+ "uint32" : lambda x: pywbem.Uint32(x),
+ "sint64" : lambda x: pywbem.Sint64(x),
+ "uint64" : lambda x: pywbem.Uint64(x)
+ }
+ if t in cast:
+ cast_func = cast[t]
+ kwargs[param] = cast_func(value)
+ return self.m_client.callMethodRaw(
+ self.m_instance, self.m_method.name, **kwargs)
+
+ def __init__(self, client, klass, inst):
+ super(self.__class__, self).__init__()
+ self.m_client = client
+ self.m_klass = klass
+ self.m_inst = inst
+
+ def __str__(self):
+ return str(self.m_inst)
+
+ def __getattr__(self, name):
+ methods = self.__methods()
+ if methods and name in methods:
+ return FmciInstance.FmciInstanceMethod(self.m_client, self, self.__method(name))
+ elif not name in self.m_inst.properties.keys():
+ return FmciErrorHandler("'%s' is not valid property of the class '%s'" % (name, self.m_klass.classname))
+ return self.m_inst.properties[name].value
+
+ def __getitem__(self, key):
+ return self.__getattr__(key)
+
+ def __methods(self):
+ (klass, errorstr) = self.m_client.getClass(self.m_inst.classname, self.m_klass.namespace)
+ if not klass:
+ return []
+ return klass.methods
+
+ def __method(self, name):
+ methods = self.__methods()
+ if not methods:
+ return None
+ try:
+ return methods[name]
+ except KeyError, e:
+ return None
+
+ @property
+ def path(self):
+ return self.m_inst.path
+
+ def printProperties(self, detailed = False):
+ self.m_klass.printProperties(detailed)
+
+ def printMethods(self, detailed = False):
+ self.m_klass.printMethods(detailed)
+
+class FmciShellClient(FmciBaseClient):
+ def __init__(self, hostname, username = "", password = ""):
+ super(self.__class__, self).__init__(hostname, username, password)
+
+ def getClassNames(self, namespace = None):
+ return self._getClassNames(namespace, DeepInheritance = True)
+
+ def getInstances(self, class_name, filter_key = "", **kwargs):
+ (instance_list, _) = self._getInstances(class_name, filter_key, **kwargs)
+ if not instance_list:
+ return None
+ return instance_list
+
+ def getClass(self, class_name, namespace = None):
+ return self._getClass(class_name, namespace)
+
+ def callMethodRaw(self, instance, method, **params):
+ return self._callMethodRaw(instance, method, **params)
+
+ def printNamespaces(self):
+ sys.stdout.write("root\n")
+ sys.stdout.write("cimv2\n")
+ sys.stdout.write("interop\n")
+
+ @property
+ def root(self):
+ return FmciNamespace(self, "root")
+
+ @property
+ def cimv2(self):
+ return FmciNamespace(self, "root/cimv2")
+
+ @property
+ def interop(self):
+ return FmciNamespace(self, "root/interop")
diff --git a/cli-tools/fmci/makefile.am b/cli-tools/fmci/makefile.am
index 3c41ae2..2f03b4c 100644
--- a/cli-tools/fmci/makefile.am
+++ b/cli-tools/fmci/makefile.am
@@ -4,6 +4,7 @@ fmci_PYTHON = \
fmci_client_ip.py \
fmci_client_power.py \
fmci_client_service.py \
+ fmci_client_shell.py \
fmci_client_user.py \
fmci_options.py \
__init__.py
diff --git a/cli-tools/makefile.am b/cli-tools/makefile.am
index aca074b..1d8f7a0 100644
--- a/cli-tools/makefile.am
+++ b/cli-tools/makefile.am
@@ -4,6 +4,7 @@ bin_SCRIPTS = \
fmci-ip.py \
fmci-power.py \
fmci-service.py \
+ fmci-shell.py \
fmci-user.py
EXTRA_DIST = $(bin_SCRIPTS)
11 years, 6 months
[cura-tools] master: introduce class manipulation methods in FmciBaseClient (23a075a)
by phatina@fedorahosted.org
Repository : http://git.fedorahosted.org/cgit/cura-tools.git
On branch : master
>---------------------------------------------------------------
commit 23a075a50eb028fd69b95ab8cddc8819b73a76d8
Author: Peter Hatina <phatina(a)redhat.com>
Date: Tue Oct 23 13:55:47 2012 +0200
introduce class manipulation methods in FmciBaseClient
>---------------------------------------------------------------
cli-tools/fmci/fmci_client_base.py | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/cli-tools/fmci/fmci_client_base.py b/cli-tools/fmci/fmci_client_base.py
index 6bacb5d..48b61cf 100644
--- a/cli-tools/fmci/fmci_client_base.py
+++ b/cli-tools/fmci/fmci_client_base.py
@@ -54,6 +54,33 @@ class FmciBaseClient(object):
return (False, e.args[1])
return (True, "")
+ def _getClassNames(self, namespace = None, **kwargs):
+ try:
+ class_name_list = self.m_cliconn.EnumerateClassNames(namespace, **kwargs)
+ except pywbem.cim_operations.CIMError, e:
+ return (None, e.args[1])
+ except pywbem.cim_http.AuthError, e:
+ return (None, e.args[0])
+ return (class_name_list, "")
+
+ def _getClasses(self, namespace = None, **kwargs):
+ try:
+ class_list = self.m_cliconn.EnumerateClasses(namespace, **kwargs)
+ except pywbem.cim_operations.CIMError, e:
+ return (None, e.args[1])
+ except pywbem.cim_http.AuthError, e:
+ return (None, e.args[0])
+ return (class_list, "")
+
+ def _getClass(self, class_name, namespace = None, **kwargs):
+ try:
+ klass = self.m_cliconn.GetClass(class_name, namespace, **kwargs)
+ except pywbem.cim_operations.CIMError, e:
+ return (None, e.args[1])
+ except pywbem.cim_http.AuthError, e:
+ return (None, e.args[0])
+ return (klass, "")
+
def _callMethodRaw(self, instance, method, **params):
try:
(rval, rparams) = self.m_cliconn.InvokeMethod(method, instance.path, **params)
11 years, 6 months
[cura-tools] master: introduce FmciBaseClient::_callMethodRaw (a04bf2d)
by phatina@fedorahosted.org
Repository : http://git.fedorahosted.org/cgit/cura-tools.git
On branch : master
>---------------------------------------------------------------
commit a04bf2db879a226754bf4d6c336738f104f84325
Author: Peter Hatina <phatina(a)redhat.com>
Date: Tue Oct 23 13:55:19 2012 +0200
introduce FmciBaseClient::_callMethodRaw
>---------------------------------------------------------------
cli-tools/fmci/fmci_client_base.py | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/cli-tools/fmci/fmci_client_base.py b/cli-tools/fmci/fmci_client_base.py
index e094c17..6bacb5d 100644
--- a/cli-tools/fmci/fmci_client_base.py
+++ b/cli-tools/fmci/fmci_client_base.py
@@ -54,9 +54,13 @@ class FmciBaseClient(object):
return (False, e.args[1])
return (True, "")
- def _callMethod(self, instance, method, **params):
+ def _callMethodRaw(self, instance, method, **params):
try:
(rval, rparams) = self.m_cliconn.InvokeMethod(method, instance.path, **params)
except pywbem.cim_operations.CIMError, e:
- return (False, {}, e.args[1] + ": '" + method + "'")
- return (rval == 0, rparams, "")
+ return (-1, {}, e.args[1] + ": '" + method + "'")
+ return (rval, rparams, "")
+
+ def _callMethod(self, instance, method, **params):
+ (rval, rparams, errorstr) = self._callMethodRaw(instance, method, **params)
+ return (rval == 0, rparams, errorstr)
11 years, 6 months
[cura-tools] master: FmciBaseClient::_getInstances always returns a list (9d1e72b)
by phatina@fedorahosted.org
Repository : http://git.fedorahosted.org/cgit/cura-tools.git
On branch : master
>---------------------------------------------------------------
commit 9d1e72b7d986493316c194b15daf8da1c23f12e0
Author: Peter Hatina <phatina(a)redhat.com>
Date: Tue Oct 23 13:54:35 2012 +0200
FmciBaseClient::_getInstances always returns a list
>---------------------------------------------------------------
cli-tools/fmci/fmci_client_base.py | 2 +-
cli-tools/fmci/fmci_client_power.py | 2 +-
cli-tools/fmci/fmci_client_service.py | 2 +-
cli-tools/fmci/fmci_client_user.py | 10 ++++++++--
4 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/cli-tools/fmci/fmci_client_base.py b/cli-tools/fmci/fmci_client_base.py
index c47630e..e094c17 100644
--- a/cli-tools/fmci/fmci_client_base.py
+++ b/cli-tools/fmci/fmci_client_base.py
@@ -45,7 +45,7 @@ class FmciBaseClient(object):
inst_list.append(self.m_cliconn.GetInstance(i, LocalOnly = False))
if not len(inst_list):
return (None, "Not found" if not "ErrorMsg" in kwargs else kwargs["ErrorMsg"])
- return (inst_list if len(inst_list) > 1 else inst_list[0], "")
+ return (inst_list, "")
def _deleteInstance(self, obj):
try:
diff --git a/cli-tools/fmci/fmci_client_power.py b/cli-tools/fmci/fmci_client_power.py
index a99934d..2273df5 100644
--- a/cli-tools/fmci/fmci_client_power.py
+++ b/cli-tools/fmci/fmci_client_power.py
@@ -32,7 +32,7 @@ class FmciPowerClient(FmciBaseClient):
(inst, rparam) = self._getInstances(FmciPowerClient.POWER_CLASS_NAME)
if not inst:
return (False, rparam)
- (rval, _, errorstr) = self._callMethod(inst, method, **params)
+ (rval, _, errorstr) = self._callMethod(inst[0], method, **params)
rval = rval in (0, 4096)
return (rval, "" if rval else errorstr)
diff --git a/cli-tools/fmci/fmci_client_service.py b/cli-tools/fmci/fmci_client_service.py
index a2df60b..3f78762 100644
--- a/cli-tools/fmci/fmci_client_service.py
+++ b/cli-tools/fmci/fmci_client_service.py
@@ -66,7 +66,7 @@ class FmciServiceClient(FmciBaseClient):
ErrorMsg = "No such service '" + service + "' found")
if not inst:
return (None, errorstr)
- return (inst, "")
+ return (inst[0], "")
def __serviceCallMethod(self, service, method):
(inst, errorstr) = self.__serviceGetInstance(service) if type(service) == str else (service, "")
diff --git a/cli-tools/fmci/fmci_client_user.py b/cli-tools/fmci/fmci_client_user.py
index 95f9616..b1c283c 100644
--- a/cli-tools/fmci/fmci_client_user.py
+++ b/cli-tools/fmci/fmci_client_user.py
@@ -35,10 +35,16 @@ class FmciUserClient(FmciBaseClient):
return self._getInstances(FmciUserClient.GROUP_CLASS_NAME)
def __getAccountManagementInstance(self):
- return self._getInstances(FmciUserClient.ACCOUNT_MANAGEMENT_SERVICE_CLASS_NAME)
+ (inst, errorstr) = self._getInstances(FmciUserClient.ACCOUNT_MANAGEMENT_SERVICE_CLASS_NAME)
+ if not inst:
+ return (None, errorstr)
+ return (inst[0], "")
def __getComputerSystemInstance(self):
- return self._getInstances(FmciUserClient.COMPUTER_SYSTEM_CLASS_NAME)
+ (inst, errorstr) = self._getInstances(FmciUserClient.COMPUTER_SYSTEM_CLASS_NAME)
+ if not inst:
+ return (None, errorstr)
+ return (inst[0], "")
def __getMemberGroups(self, inst):
members = []
11 years, 6 months
[cura-tools] master: introduce _getInstanceNames in FmciBaseClient (d8bada2)
by phatina@fedorahosted.org
Repository : http://git.fedorahosted.org/cgit/cura-tools.git
On branch : master
>---------------------------------------------------------------
commit d8bada295711b2a419130110d725fa623e20890c
Author: Peter Hatina <phatina(a)redhat.com>
Date: Tue Oct 23 13:53:27 2012 +0200
introduce _getInstanceNames in FmciBaseClient
>---------------------------------------------------------------
cli-tools/fmci/fmci_client_base.py | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/cli-tools/fmci/fmci_client_base.py b/cli-tools/fmci/fmci_client_base.py
index e2618f8..c47630e 100644
--- a/cli-tools/fmci/fmci_client_base.py
+++ b/cli-tools/fmci/fmci_client_base.py
@@ -23,13 +23,19 @@ class FmciBaseClient(object):
self.m_cliconn = pywbem.WBEMConnection("https://" + self.m_hostname,
(self.m_username, self.m_password))
- def _getInstances(self, klass, filter_key = "", **kwargs):
+ def _getInstanceNames(self, klass, **kwargs):
try:
inst_name_list = self.m_cliconn.EnumerateInstanceNames(klass)
except pywbem.cim_operations.CIMError, e:
return (None, e.args[1])
except pywbem.cim_http.AuthError, e:
return (None, e.args[0])
+ return (inst_name_list, "")
+
+ def _getInstances(self, klass, filter_key = "", **kwargs):
+ (inst_name_list, errorstr) = self._getInstanceNames(klass, **kwargs)
+ if not inst_name_list:
+ return (None, errorstr)
inst_names = inst_name_list
if len(filter_key):
key = kwargs["Key"] if "Key" in kwargs else "Name"
11 years, 6 months
[cura-tools] master: bump release version to v0.2pre (844edae)
by phatina@fedorahosted.org
Repository : http://git.fedorahosted.org/cgit/cura-tools.git
On branch : master
>---------------------------------------------------------------
commit 844edaeacc0c146eb5aca35741fb377ef59af29b
Author: Peter Hatina <phatina(a)redhat.com>
Date: Tue Oct 23 13:47:59 2012 +0200
bump release version to v0.2pre
>---------------------------------------------------------------
configure.ac | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/configure.ac b/configure.ac
index abec889..586d5dd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_PREREQ([2.60])
-AC_INIT([OpenLMI-tools], [0.1], [phatina(a)redhat.com])
+AC_INIT([OpenLMI-tools], [0.2pre], [phatina(a)redhat.com])
AC_CONFIG_MACRO_DIR([m4])
m4_include([m4/python_module.m4])
11 years, 6 months