parameters: (args)
return_statement: return filenames
docstring: Parses the command line arguments.
  
    This may set the output format and verbosity level as side-effects.
  
    Args:
      args: The command line arguments:
  
    Returns:
      The list of filenames to lint.
docstring_summary: Parses the command line arguments.
docstring_tokens: Parses the command line arguments .
function: def ParseArguments(args):
    """Parses the command line arguments.
  
    This may set the output format and verbosity level as side-effects.
  
    Args:
      args: The command line arguments:
  
    Returns:
      The list of filenames to lint.
    """
    try:
      (opts, filenames) = getopt.getopt(args, '', ['help', 'output=', 'verbose=',
                                                   'v=',
                                                   'version',
                                                   'counting=',
                                                   'filter=',
                                                   'root=',
                                                   'repository=',
                                                   'linelength=',
                                                   'extensions=',
                                                   'exclude=',
                                                   'recursive',
                                                   'headers=',
                                                   'includeorder=',
                                                   'quiet'])
    except getopt.GetoptError:
      PrintUsage('Invalid arguments.')
  
    verbosity = _VerboseLevel()
    output_format = _OutputFormat()
    filters = ''
    quiet = _Quiet()
    counting_style = ''
    recursive = False
  
    for (opt, val) in opts:
      if opt == '--help':
        PrintUsage(None)
      if opt == '--version':
        PrintVersion()
      elif opt == '--output':
        if val not in ('emacs', 'vs7', 'eclipse', 'junit', 'sed', 'gsed'):
          PrintUsage('The only allowed output formats are emacs, vs7, eclipse '
                     'sed, gsed and junit.')
        output_format = val
      elif opt == '--quiet':
        quiet = True
      elif opt == '--verbose' or opt == '--v':
        verbosity = int(val)
      elif opt == '--filter':
        filters = val
        if not filters:
          PrintCategories()
      elif opt == '--counting':
        if val not in ('total', 'toplevel', 'detailed'):
          PrintUsage('Valid counting options are total, toplevel, and detailed')
        counting_style = val
      elif opt == '--root':
        global _root
        _root = val
      elif opt == '--repository':
        global _repository
        _repository = val
      elif opt == '--linelength':
        global _line_length
        try:
          _line_length = int(val)
        except ValueError:
          PrintUsage('Line length must be digits.')
      elif opt == '--exclude':
        global _excludes
        if not _excludes:
          _excludes = set()
        _excludes.update(glob.glob(val))
      elif opt == '--extensions':
        ProcessExtensionsOption(val)
      elif opt == '--headers':
        ProcessHppHeadersOption(val)
      elif opt == '--recursive':
        recursive = True
      elif opt == '--includeorder':
        ProcessIncludeOrderOption(val)
  
    if not filenames:
      PrintUsage('No files were specified.')
  
    if recursive:
      filenames = _ExpandDirectories(filenames)
  
    if _excludes:
      filenames = _FilterExcludedFiles(filenames)
  
    _SetOutputFormat(output_format)
    _SetQuiet(quiet)
    _SetVerboseLevel(verbosity)
    _SetFilters(filters)
    _SetCountingStyle(counting_style)
  
    filenames.sort()
    return filenames
function_tokens: def ParseArguments ( args ) : try : ( opts , filenames ) = getopt . getopt ( args , '' , [ 'help' , 'output=' , 'verbose=' , 'v=' , 'version' , 'counting=' , 'filter=' , 'root=' , 'repository=' , 'linelength=' , 'extensions=' , 'exclude=' , 'recursive' , 'headers=' , 'includeorder=' , 'quiet' ] ) except getopt . GetoptError : PrintUsage ( 'Invalid arguments.' ) verbosity = _VerboseLevel ( ) output_format = _OutputFormat ( ) filters = '' quiet = _Quiet ( ) counting_style = '' recursive = False for ( opt , val ) in opts : if opt == '--help' : PrintUsage ( None ) if opt == '--version' : PrintVersion ( ) elif opt == '--output' : if val not in ( 'emacs' , 'vs7' , 'eclipse' , 'junit' , 'sed' , 'gsed' ) : PrintUsage ( 'The only allowed output formats are emacs, vs7, eclipse ' 'sed, gsed and junit.' ) output_format = val elif opt == '--quiet' : quiet = True elif opt == '--verbose' or opt == '--v' : verbosity = int ( val ) elif opt == '--filter' : filters = val if not filters : PrintCategories ( ) elif opt == '--counting' : if val not in ( 'total' , 'toplevel' , 'detailed' ) : PrintUsage ( 'Valid counting options are total, toplevel, and detailed' ) counting_style = val elif opt == '--root' : global _root _root = val elif opt == '--repository' : global _repository _repository = val elif opt == '--linelength' : global _line_length try : _line_length = int ( val ) except ValueError : PrintUsage ( 'Line length must be digits.' ) elif opt == '--exclude' : global _excludes if not _excludes : _excludes = set ( ) _excludes . update ( glob . glob ( val ) ) elif opt == '--extensions' : ProcessExtensionsOption ( val ) elif opt == '--headers' : ProcessHppHeadersOption ( val ) elif opt == '--recursive' : recursive = True elif opt == '--includeorder' : ProcessIncludeOrderOption ( val ) if not filenames : PrintUsage ( 'No files were specified.' ) if recursive : filenames = _ExpandDirectories ( filenames ) if _excludes : filenames = _FilterExcludedFiles ( filenames ) _SetOutputFormat ( output_format ) _SetQuiet ( quiet ) _SetVerboseLevel ( verbosity ) _SetFilters ( filters ) _SetCountingStyle ( counting_style ) filenames . sort ( ) return filenames