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]