Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(130)

Unified Diff: third_party/pylint/pylint/config.py

Issue 1920403002: [content/test/gpu] Run pylint check of gpu tests in unittest instead of PRESUBMIT (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update path to LICENSE.txt of logilab/README.chromium Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/pylint/pylint/checkers/variables.py ('k') | third_party/pylint/pylint/epylint.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/pylint/pylint/config.py
diff --git a/third_party/pylint/pylint/config.py b/third_party/pylint/pylint/config.py
new file mode 100644
index 0000000000000000000000000000000000000000..ebfe57897e51cb1e070ebb57481029a3fd8cefec
--- /dev/null
+++ b/third_party/pylint/pylint/config.py
@@ -0,0 +1,157 @@
+# Copyright (c) 2003-2013 LOGILAB S.A. (Paris, FRANCE).
+# This program is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+"""utilities for Pylint configuration :
+
+* pylintrc
+* pylint.d (PYLINTHOME)
+"""
+from __future__ import with_statement
+from __future__ import print_function
+
+import pickle
+import os
+import sys
+from os.path import exists, isfile, join, expanduser, abspath, dirname
+
+# pylint home is used to save old runs results ################################
+
+USER_HOME = expanduser('~')
+if 'PYLINTHOME' in os.environ:
+ PYLINT_HOME = os.environ['PYLINTHOME']
+ if USER_HOME == '~':
+ USER_HOME = dirname(PYLINT_HOME)
+elif USER_HOME == '~':
+ PYLINT_HOME = ".pylint.d"
+else:
+ PYLINT_HOME = join(USER_HOME, '.pylint.d')
+
+def get_pdata_path(base_name, recurs):
+ """return the path of the file which should contain old search data for the
+ given base_name with the given options values
+ """
+ base_name = base_name.replace(os.sep, '_')
+ return join(PYLINT_HOME, "%s%s%s"%(base_name, recurs, '.stats'))
+
+def load_results(base):
+ """try to unpickle and return data from file if it exists and is not
+ corrupted
+
+ return an empty dictionary if it doesn't exists
+ """
+ data_file = get_pdata_path(base, 1)
+ try:
+ with open(data_file, _PICK_LOAD) as stream:
+ return pickle.load(stream)
+ except Exception: # pylint: disable=broad-except
+ return {}
+
+if sys.version_info < (3, 0):
+ _PICK_DUMP, _PICK_LOAD = 'w', 'r'
+else:
+ _PICK_DUMP, _PICK_LOAD = 'wb', 'rb'
+
+def save_results(results, base):
+ """pickle results"""
+ if not exists(PYLINT_HOME):
+ try:
+ os.mkdir(PYLINT_HOME)
+ except OSError:
+ print('Unable to create directory %s' % PYLINT_HOME, file=sys.stderr)
+ data_file = get_pdata_path(base, 1)
+ try:
+ with open(data_file, _PICK_DUMP) as stream:
+ pickle.dump(results, stream)
+ except (IOError, OSError) as ex:
+ print('Unable to create file %s: %s' % (data_file, ex), file=sys.stderr)
+
+# location of the configuration file ##########################################
+
+
+def find_pylintrc():
+ """search the pylint rc file and return its path if it find it, else None
+ """
+ # is there a pylint rc file in the current directory ?
+ if exists('pylintrc'):
+ return abspath('pylintrc')
+ if isfile('__init__.py'):
+ curdir = abspath(os.getcwd())
+ while isfile(join(curdir, '__init__.py')):
+ curdir = abspath(join(curdir, '..'))
+ if isfile(join(curdir, 'pylintrc')):
+ return join(curdir, 'pylintrc')
+ if 'PYLINTRC' in os.environ and exists(os.environ['PYLINTRC']):
+ pylintrc = os.environ['PYLINTRC']
+ else:
+ user_home = expanduser('~')
+ if user_home == '~' or user_home == '/root':
+ pylintrc = ".pylintrc"
+ else:
+ pylintrc = join(user_home, '.pylintrc')
+ if not isfile(pylintrc):
+ pylintrc = join(user_home, '.config', 'pylintrc')
+ if not isfile(pylintrc):
+ if isfile('/etc/pylintrc'):
+ pylintrc = '/etc/pylintrc'
+ else:
+ pylintrc = None
+ return pylintrc
+
+PYLINTRC = find_pylintrc()
+
+ENV_HELP = '''
+The following environment variables are used:
+ * PYLINTHOME
+ Path to the directory where the persistent for the run will be stored. If
+not found, it defaults to ~/.pylint.d/ or .pylint.d (in the current working
+directory).
+ * PYLINTRC
+ Path to the configuration file. See the documentation for the method used
+to search for configuration file.
+''' % globals()
+
+# evaluation messages #########################################################
+
+def get_note_message(note):
+ """return a message according to note
+ note is a float < 10 (10 is the highest note)
+ """
+ assert note <= 10, "Note is %.2f. Either you cheated, or pylint's \
+broken!" % note
+ if note < 0:
+ msg = 'You have to do something quick !'
+ elif note < 1:
+ msg = 'Hey! This is really dreadful. Or maybe pylint is buggy?'
+ elif note < 2:
+ msg = "Come on! You can't be proud of this code"
+ elif note < 3:
+ msg = 'Hum... Needs work.'
+ elif note < 4:
+ msg = 'Wouldn\'t you be a bit lazy?'
+ elif note < 5:
+ msg = 'A little more work would make it acceptable.'
+ elif note < 6:
+ msg = 'Just the bare minimum. Give it a bit more polish. '
+ elif note < 7:
+ msg = 'This is okay-ish, but I\'m sure you can do better.'
+ elif note < 8:
+ msg = 'If you commit now, people should not be making nasty \
+comments about you on c.l.py'
+ elif note < 9:
+ msg = 'That\'s pretty good. Good work mate.'
+ elif note < 10:
+ msg = 'So close to being perfect...'
+ else:
+ msg = 'Wow ! Now this deserves our uttermost respect.\nPlease send \
+your code to python-projects@logilab.org'
+ return msg
« no previous file with comments | « third_party/pylint/pylint/checkers/variables.py ('k') | third_party/pylint/pylint/epylint.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698