summaryrefslogtreecommitdiffstats
path: root/lldb/scripts/utilsArgsParse.py
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/scripts/utilsArgsParse.py')
-rw-r--r--lldb/scripts/utilsArgsParse.py141
1 files changed, 0 insertions, 141 deletions
diff --git a/lldb/scripts/utilsArgsParse.py b/lldb/scripts/utilsArgsParse.py
deleted file mode 100644
index fadf4b49831..00000000000
--- a/lldb/scripts/utilsArgsParse.py
+++ /dev/null
@@ -1,141 +0,0 @@
-""" Utility module handle program args and give help
-
- --------------------------------------------------------------------------
- File: utilsArgsParse.py
-
- Overview: Python module to parse and validate program parameters
- against those required by the program whether mandatory
- or optional.
- Also give help information on arguments required by the
- program.
-
- Gotchas: None.
-
- Copyright: None.
- --------------------------------------------------------------------------
-
-"""
-
-# Python modules:
-import getopt # Parse command line arguments
-
-# Third party modules:
-
-# In-house modules:
-
-# Instantiations:
-
-# User facing text:
-strMsgErrorInvalidParameters = "Invalid parameters entered, -h for help. \nYou entered:\n"
-strMsgErrorInvalidNoParams = "No parameters entered, -h for help\n"
-strMsgErrorNumberParameters = "Number of parameters entered incorrect, %d parameters required. You entered:\n"
-strMsgArgFileNotImplemented = "Sorry the --argFile is not implemented"
-
-#++---------------------------------------------------------------------------
-# Details: Validate the arguments passed in against the mandatory and
-# optional arguments specified. The argument format for the parameters
-# is required to work with the module getopt function getopt().
-# Parameter vDictArgReq specifies which parameters are mandatory and
-# which are optional. The format is for example:
-# dictArgReq = {"-h": "o", # o = optional, m = mandatory
-# "-m": "m",
-# "--targetDir": "m",
-# "--cfgBldDir": "o" }
-# Args: vArgv - (R) List of arguments and values.
-# vstrListArgs - (R) List of small arguments.
-# vListLongArgs - (R) List of long arguments.
-# vDictArgReq - (R) Map of arguments required.
-# vstrHelpInfo - (R) Formatted help text.
-# Returns: Int - 0 success.
-# 1 success display information, do nothing else.
-# -1 error invalid parameters.
-# -2 error incorrect number of mandatory parameters.
-# Dict - Map of arguments names to argument values
-# Str - Error message.
-# Throws: None.
-#--
-
-
-def parse(vArgv, vstrListArgs, vListLongArgs, vDictArgReq, vstrHelpInfo):
- dictArgs = {}
- dictDummy = {}
- strDummy = ""
-
- # Validate parameters above and error on not recognised
- try:
- dictOptsNeeded, dictArgsLeftOver = getopt.getopt(vArgv,
- vstrListArgs,
- vListLongArgs)
- except getopt.GetoptError:
- strMsg = strMsgErrorInvalidParameters
- strMsg += str(vArgv)
- return (-1, dictDummy, strMsg)
-
- if len(dictOptsNeeded) == 0:
- strMsg = strMsgErrorInvalidNoParams
- return (-1, dictDummy, strMsg)
-
- # Look for help -h before anything else
- for opt, arg in dictOptsNeeded:
- if opt == '-h':
- return (1, dictDummy, vstrHelpInfo)
-
- # Look for the --argFile if found ignore other command line arguments
- for opt, arg in dictOptsNeeded:
- if opt == '--argsFile':
- return (1, dictDummy, strMsgArgFileNotImplemented)
-
- # Count the number of mandatory args required (if any one found)
- countMandatory = 0
- for opt, man in list(vDictArgReq.items()):
- if man == "m":
- countMandatory = countMandatory + 1
-
- # Extract short args
- listArgs = []
- for arg in vstrListArgs:
- if (arg == '-h') or (arg == ':'):
- continue
- listArgs.append(arg)
-
- # Append to arg dictionary the option and its value
- bFoundNoInputValue = False
- countMandatoryOpts = 0
- for opt, val in dictOptsNeeded:
- match = 0
- for arg in listArgs:
- argg = "-" + arg
- if opt == argg:
- if "m" == vDictArgReq[opt]:
- countMandatoryOpts = countMandatoryOpts + 1
- dictArgs[opt] = val
- match = 1
- break
- if match == 0:
- for arg in vListLongArgs:
- argg = "--" + arg.rstrip('=')
- if opt == argg:
- if "m" == vDictArgReq[opt]:
- countMandatoryOpts = countMandatoryOpts + 1
- dictArgs[opt] = val
- if arg[-1:] == '=' and val.__len__() == 0:
- bFoundNoInputValue = True
- break
-
- # Do any of the long arguments not have a value attached
- if bFoundNoInputValue:
- strMsg = strMsgErrorInvalidParameters
- strMsg += str(vArgv)
- return (-1, dictDummy, strMsg)
-
- # Debug only
- # print countMandatoryOpts
- # print countMandatory
-
- # Do we have the exact number of mandatory arguments
- if (countMandatoryOpts > 0) and (countMandatory != countMandatoryOpts):
- strMsg = strMsgErrorNumberParameters % countMandatory
- strMsg += str(vArgv)
- return (-2, dictDummy, strMsg)
-
- return (0, dictArgs, strDummy)
OpenPOWER on IntegriCloud