"Fossies" - the Fresh Open Source Software Archive

Member "svnchecker-0.3/checks/Pylint.py" (11 Jul 2008, 1445 Bytes) of package /linux/privat/old/svnchecker-0.3.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Python source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. For more information about "Pylint.py" see the Fossies "Dox" file reference documentation.

    1 # Copyright 2008 German Aerospace Center (DLR)
    2 #
    3 # Licensed under the Apache License, Version 2.0 (the "License");
    4 # you may not use this file except in compliance with the License.
    5 # You may obtain a copy of the License at
    6 #
    7 #     http://www.apache.org/licenses/LICENSE-2.0
    8 #
    9 # Unless required by applicable law or agreed to in writing, software
   10 # distributed under the License is distributed on an "AS IS" BASIS,
   11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   12 # See the License for the specific language governing permissions and
   13 # limitations under the License.
   14 
   15 """ Checks python files for coding style. """
   16 
   17 import StringIO
   18 
   19 from pylint import lint
   20 from pylint.reporters.text import TextReporter
   21 
   22 def run(transaction, config):
   23 
   24     check = config.getArray("Pylint.CheckFiles", [".*\.py"])
   25     ignore = config.getArray("Pylint.IgnoreFiles", [])
   26     files = transaction.getFiles(check, ignore)
   27 
   28     config = config.getString("Pylint.ConfigFile", "")
   29 
   30     files = [transaction.getFile(oneFile[0]) for oneFile in files.iteritems() if oneFile[1] in ["A", "U", "UU"]]
   31 
   32     output = StringIO.StringIO()
   33     reporter = TextReporter(output)
   34 
   35     if config:
   36         lint.Run(["--rcfile=%s" % config, "--reports=n"] + files, reporter=reporter)
   37     else:
   38         lint.Run(["--reports=n"] + files, reporter=reporter)
   39 
   40     output = output.getvalue()
   41 
   42     if output:
   43         return (output, 1)
   44     else:
   45         return ("", 0)