summaryrefslogtreecommitdiffstats
path: root/src/python/openlmi/common/JobManager.py
diff options
context:
space:
mode:
authorJan Safranek <jsafrane@redhat.com>2013-05-02 11:00:44 +0200
committerJan Safranek <jsafrane@redhat.com>2013-05-02 11:00:44 +0200
commit95b689c6c4a9a4eb130a4f80f21d3ceea7468f44 (patch)
tree9cf3f84937f86fada6d23e5c3f69221c70197707 /src/python/openlmi/common/JobManager.py
parent8de6807e5017fd5f8be76d6b70d1eb1387c24a62 (diff)
downloadopenlmi-providers-95b689c6c4a9a4eb130a4f80f21d3ceea7468f44.tar.gz
openlmi-providers-95b689c6c4a9a4eb130a4f80f21d3ceea7468f44.tar.xz
openlmi-providers-95b689c6c4a9a4eb130a4f80f21d3ceea7468f44.zip
Added global function to parse InstanceID.
Diffstat (limited to 'src/python/openlmi/common/JobManager.py')
-rw-r--r--src/python/openlmi/common/JobManager.py36
1 files changed, 4 insertions, 32 deletions
diff --git a/src/python/openlmi/common/JobManager.py b/src/python/openlmi/common/JobManager.py
index e78967c..3a845fd 100644
--- a/src/python/openlmi/common/JobManager.py
+++ b/src/python/openlmi/common/JobManager.py
@@ -47,6 +47,7 @@ import threading
from Queue import Queue
import pywbem
import openlmi.common.cmpi_logging as cmpi_logging
+import openlmi.common
from openlmi.common.IndicationManager import IndicationManager
from pywbem.cim_provider2 import CIMProvider2
import socket
@@ -464,34 +465,6 @@ class Job(object):
classname = self.job_manager.job_classname
return 'LMI:' + classname + ':' + str(self.the_id)
- @staticmethod
- def parse_instance_id(instance_id, job_manager, classname=None):
- """
- Return the last part of instance_id.
-
- :param instance_id: (``string``) InstanceID to parse.
- :param job_manager: (``JobManager``) JobManager to query for Job's
- classname.
- :param classname: (``string``) Optional classname. If not given,
- JobManager's job_classname will be used for parsing. Other
- classnames may be used to parse e.g. LMI_<name>MethodResult
- InstanceIDs.
-
- :rtype: ``string`` or None if the ``instance_id`` has wrong format.
- """
- if classname is None:
- classname = job_manager.job_classname
- parts = instance_id.split(":")
- if len(parts) != 3:
- return None
- if parts[0] != 'LMI':
- return None
- if parts[1] != classname:
- return None
- if not parts[2].isdigit():
- return None
- return parts[2]
-
@cmpi_logging.trace_method
def get_pre_call(self):
"""
@@ -871,11 +844,10 @@ class JobManager(object):
"""
if classname is None:
classname = self.job_classname
- the_id = Job.parse_instance_id(instance_id, self, classname)
- if the_id:
- return self.jobs.get(the_id, None)
- else:
+ the_id = openlmi.common.parse_instance_id(instance_id, classname)
+ if not the_id.isdigit():
return None
+ return self.jobs.get(the_id, None)
@cmpi_logging.trace_method
def _worker_main(self):