You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			57 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			57 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
#!/usr/bin/env python
 | 
						|
# Copyright 2019 The Chromium Authors. All rights reserved.
 | 
						|
# Use of this source code is governed by a BSD-style license that can be
 | 
						|
# found in the LICENSE file.
 | 
						|
 | 
						|
"""Chromium wrapper for pylint for passing args via stdin.
 | 
						|
 | 
						|
This will be executed by vpython with the right pylint versions.
 | 
						|
"""
 | 
						|
 | 
						|
from __future__ import print_function
 | 
						|
 | 
						|
import os
 | 
						|
import sys
 | 
						|
 | 
						|
HERE = os.path.dirname(os.path.abspath(__file__))
 | 
						|
PYLINT = os.path.join(HERE, 'pylint_main.py')
 | 
						|
RC_FILE = os.path.join(HERE, 'pylintrc')
 | 
						|
 | 
						|
ARGS_ON_STDIN = '--args-on-stdin'
 | 
						|
 | 
						|
 | 
						|
def main(argv):
 | 
						|
  """Our main wrapper."""
 | 
						|
  # Add support for a custom mode where arguments are fed line by line on
 | 
						|
  # stdin. This allows us to get around command line length limitations.
 | 
						|
  if ARGS_ON_STDIN in argv:
 | 
						|
    argv = [x for x in argv if x != ARGS_ON_STDIN]
 | 
						|
    argv.extend(x.strip() for x in sys.stdin)
 | 
						|
 | 
						|
  # Set default config options with the PYLINTRC environment variable. This will
 | 
						|
  # allow overriding with "more local" config file options, such as a local
 | 
						|
  # "pylintrc" file, the "--rcfile" command-line flag, or an existing PYLINTRC.
 | 
						|
  #
 | 
						|
  # Note that this is not quite the same thing as replacing pylint's built-in
 | 
						|
  # defaults, since, based on config file precedence, it will not be overridden
 | 
						|
  # by "more global" config file options, such as ~/.pylintrc,
 | 
						|
  # ~/.config/pylintrc, or /etc/pylintrc. This is generally the desired
 | 
						|
  # behavior, since we want to enforce these defaults in most cases, but allow
 | 
						|
  # them to be overridden for specific code or repos.
 | 
						|
  #
 | 
						|
  # If someone really doesn't ever want the depot_tools pylintrc, they can set
 | 
						|
  # their own PYLINTRC, or set an empty PYLINTRC to use pylint's normal config
 | 
						|
  # file resolution, which would include the "more global" options that are
 | 
						|
  # normally overridden by the depot_tools config.
 | 
						|
  if os.path.isfile(RC_FILE) and 'PYLINTRC' not in os.environ:
 | 
						|
    os.environ['PYLINTRC'] = RC_FILE
 | 
						|
 | 
						|
  # This import has to happen after PYLINTRC is set because the module tries to
 | 
						|
  # resolve the config file location on load.
 | 
						|
  from pylint import lint  # pylint: disable=bad-option-value,import-outside-toplevel
 | 
						|
  lint.Run(argv)
 | 
						|
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
  sys.exit(main(sys.argv[1:]))
 |