class_docstr: :param name: Either a name or a list of option strings, e.g. foo or -f, --foo.
  :param default: The value produced if the argument is absent from the request.
  :param dest: The name of the attribute to be added to the object
      returned by :meth:`~reqparse.RequestParser.parse_args()`.
  :param bool required: Whether or not the argument may be omitted (optionals only).
  :param string action: The basic type of action to be taken when this argument
      is encountered in the request. Valid options are "store" and "append".
  :param bool ignore: Whether to ignore cases where the argument fails type conversion
  :param type: The type to which the request argument should be converted.
      If a type raises an exception, the message in the error will be returned in the response.
      Defaults to :class:`unicode` in python2 and :class:`str` in python3.
  :param location: The attributes of the :class:`flask.Request` object
      to source the arguments from (ex: headers, args, etc.), can be an
      iterator. The last item listed takes precedence in the result set.
  :param choices: A container of the allowable values for the argument.
  :param help: A brief description of the argument, returned in the
      response when the argument is invalid. May optionally contain
      an "{error_msg}" interpolation token, which will be replaced with
      the text of the error raised by the type converter.
  :param bool case_sensitive: Whether argument values in the request are
      case sensitive or not (this will convert all values to lowercase)
  :param bool store_missing: Whether the arguments default value should
      be stored if the argument is missing from the request.
  :param bool trim: If enabled, trims whitespace around the argument.
  :param bool nullable: If enabled, allows null value in argument.
class_docstr_tok: [":","param","name",":","Either","a","name","or","a","list","of","option","strings",",","e.g",".","foo","or","-f",",","--","foo",".",":","param","default",":","The","value","produced","if","the","argument","is","absent","from","the","request",".",":","param","dest",":","The","name","of","the","attribute","to","be","added","to","the","object","returned","by",":","meth",":","`","~reqparse.RequestParser.parse_args","(",")","`",".",":","param","bool","required",":","Whether","or","not","the","argument","may","be","omitted","(","optionals","only",")",".",":","param","string","action",":","The","basic","type","of","action","to","be","taken","when","this","argument","is","encountered","in","the","request",".","Valid","options","are","``","store","''","and","``","append","''",".",":","param","bool","ignore",":","Whether","to","ignore","cases","where","the","argument","fails","type","conversion",":","param","type",":","The","type","to","which","the","request","argument","should","be","converted",".","If","a","type","raises","an","exception",",","the","message","in","the","error","will","be","returned","in","the","response",".","Defaults","to",":","class",":","`","unicode","`","in","python2","and",":","class",":","`","str","`","in","python3",".",":","param","location",":","The","attributes","of","the",":","class",":","`","flask.Request","`","object","to","source","the","arguments","from","(","ex",":","headers",",","args",",","etc",".",")",",","can","be","an","iterator",".","The","last","item","listed","takes","precedence","in","the","result","set",".",":","param","choices",":","A","container","of","the","allowable","values","for","the","argument",".",":","param","help",":","A","brief","description","of","the","argument",",","returned","in","the","response","when","the","argument","is","invalid",".","May","optionally","contain","an","``","{","error_msg","}","''","interpolation","token",",","which","will","be","replaced","with","the","text","of","the","error","raised","by","the","type","converter",".",":","param","bool","case_sensitive",":","Whether","argument","values","in","the","request","are","case","sensitive","or","not","(","this","will","convert","all","values","to","lowercase",")",":","param","bool","store_missing",":","Whether","the","arguments","default","value","should","be","stored","if","the","argument","is","missing","from","the","request",".",":","param","bool","trim",":","If","enabled",",","trims","whitespace","around","the","argument",".",":","param","bool","nullable",":","If","enabled",",","allows","null","value","in","argument","."]
docstr: Parses argument value(s) from the request, converting according to
  the argument's type.
  
  :param request: The flask request object to parse arguments from
  :param bool bundle_errors: do not abort when first error occurs, return a
      dict with the name of the argument and the error message to be
      bundled
docstr_tok: ["Parses","argument","value","(","s",")","from","the","request",",","converting","according","to","the","argument","'s","type",".",":","param","request",":","The","flask","request","object","to","parse","arguments","from",":","param","bool","bundle_errors",":","do","not","abort","when","first","error","occurs",",","return","a","dict","with","the","name","of","the","argument","and","the","error","message","to","be","bundled"]
code: def parse(self, request, bundle_errors=False):
      """
      Parses argument value(s) from the request, converting according to
      the argument's type.
  
      :param request: The flask request object to parse arguments from
      :param bool bundle_errors: do not abort when first error occurs, return a
          dict with the name of the argument and the error message to be
          bundled
      """
      bundle_errors = (
          current_app.config.get("BUNDLE_ERRORS", False)
          or bundle_errors
      )
      source = self.source(request)
  
      results = []
  
      # Sentinels
      _not_found = False
      _found = True
  
      for operator in self.operators:
          name = self.name + operator.replace("=", "", 1)
          if name in source:
              # Account for MultiDict and regular dict
              if hasattr(source, "getlist"):
                  values = source.getlist(name)
              else:
                  values = [source.get(name)]
  
              for value in values:
                  if hasattr(value, "strip") and self.trim:
                      value = value.strip()
                  if (
                      hasattr(value, "lower")
                      and not self.case_sensitive
                  ):
                      value = value.lower()
  
                      if hasattr(self.choices, "__iter__"):
                          self.choices = [
                              choice.lower() for choice in self.choices
                          ]
  
                  try:
                      if self.action == "split":
                          value = [
                              self.convert(v, operator)
                              for v in value.split(SPLIT_CHAR)
                          ]
                      else:
                          value = self.convert(value, operator)
                  except Exception as error:
                      if self.ignore:
                          continue
                      return self.handle_validation_error(
                          error, bundle_errors
                      )
  
                  if self.choices and value not in self.choices:
                      msg = "The value '{0}' is not a valid choice for '{1}'.".format(
                          value, name
                      )
                      return self.handle_validation_error(
                          msg, bundle_errors
                      )
  
                  if name in request.unparsed_arguments:
                      request.unparsed_arguments.pop(name)
                  results.append(value)
  
      if not results and self.required:
          if isinstance(self.location, six.string_types):
              location = _friendly_location.get(
                  self.location, self.location
              )
          else:
              locations = [
                  _friendly_location.get(loc, loc)
                  for loc in self.location
              ]
              location = " or ".join(locations)
          error_msg = "Missing required parameter in {0}".format(
              location
          )
          return self.handle_validation_error(error_msg, bundle_errors)
  
      if not results:
          if callable(self.default):
              return self.default(), _not_found
          else:
              return self.default, _not_found
  
      if self.action == "append":
          return results, _found
  
      if self.action == "store" or len(results) == 1:
          return results[0], _found
      return results, _found
  
imports: from __future__ import unicode_literals
  import decimal
  import six
  from copy import deepcopy
  from flask import current_app, request
  from werkzeug.datastructures import MultiDict, FileStorage
  from werkzeug import exceptions
  from .errors import abort, SpecsError
  from .marshalling import marshal
  from .model import Model
  from ._http import HTTPStatus
label_desc: Use image node_id 5 for calling the Argument obj's underlying member method code with example usage: obj.parse(request, bundle_errors) and returns: results,  _found, self, results,  _found, results,  _found, self,  _not_found, self,  _not_found, self, self