diff --git a/src/python/dm/common/cli/dmCli.py b/src/python/dm/common/cli/dmCli.py
index 6660344ff382248de5ceafc8a4db3f401c7f29b3..4cde64ba1f7bb3238bb64d92fbe22c980f84961e 100755
--- a/src/python/dm/common/cli/dmCli.py
+++ b/src/python/dm/common/cli/dmCli.py
@@ -21,6 +21,8 @@ from dm.common.constants import dmStatus
 class DmCli(object):
     """ Base dm command line interface class. """
     DEFAULT_SESSION_CACHE_FILE = OsUtility.getUserHomeDir() + '/.dm/.session.cache'
+    ANY_NUMBER_OF_POSITIONAL_ARGS = 10000000
+
     def __init__(self, validArgCount=0):
         self.logger = LoggingManager.getInstance().getLogger(self.__class__.__name__)
         # Do not log into a file for CLIs
@@ -178,6 +180,19 @@ class DmCli(object):
         """ Returns the command line argument list. """
         return self.args
 
+    def splitArgsIntoDict(self, keyValueDelimiter=':'):
+        """ Returns the command line argument list as dictionary of key/value
+        pairs. Each argument is split using specified delimiter. """
+        argDict = {}
+        for a in self.args:
+            sList = a.split(keyValueDelimiter)
+            key = sList[0]
+            value = ''
+            if len(sList) > 1:
+                value = keyValueDelimiter.join(sList[1:])
+            argDict[key] = value
+        return argDict
+
     def getArg(self, i):
         """ Returns the i-th command line argument. """
         return self.args[i]