exercism-analysis 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/exercism-analysis.gemspec +30 -0
- data/lib/exercism-analysis.rb +38 -0
- data/lib/exercism-analysis/adapters/adapter.rb +23 -0
- data/lib/exercism-analysis/adapters/clojure.rb +13 -0
- data/lib/exercism-analysis/adapters/go.rb +19 -0
- data/lib/exercism-analysis/adapters/javascript.rb +13 -0
- data/lib/exercism-analysis/adapters/python.rb +13 -0
- data/lib/exercism-analysis/adapters/ruby.rb +19 -0
- data/lib/exercism-analysis/analysis.rb +18 -0
- data/lib/exercism-analysis/analyzers/analyzer.rb +54 -0
- data/lib/exercism-analysis/analyzers/clojure/kibit.rb +25 -0
- data/lib/exercism-analysis/analyzers/go/golint.rb +23 -0
- data/lib/exercism-analysis/analyzers/javascript/jslint.rb +24 -0
- data/lib/exercism-analysis/analyzers/python/pylint.rb +24 -0
- data/lib/exercism-analysis/analyzers/ruby/control_flow.rb +21 -0
- data/lib/exercism-analysis/analyzers/ruby/enumerable_condition.rb +21 -0
- data/lib/exercism-analysis/analyzers/ruby/for_loop.rb +29 -0
- data/lib/exercism-analysis/analyzers/ruby/indentation.rb +21 -0
- data/lib/exercism-analysis/analyzers/ruby/iter_mutation.rb +37 -0
- data/lib/exercism-analysis/analyzers/ruby/output.rb +20 -0
- data/lib/exercism-analysis/analyzers/ruby/range.rb +28 -0
- data/lib/exercism-analysis/analyzers/ruby/roodi.rb +19 -0
- data/lib/exercism-analysis/analyzers/ruby/send.rb +25 -0
- data/lib/exercism-analysis/analyzers/ruby/shebang.rb +23 -0
- data/lib/exercism-analysis/analyzers/ruby/tab.rb +38 -0
- data/lib/exercism-analysis/processors/call_processor.rb +39 -0
- data/lib/exercism-analysis/processors/control_flow_processor.rb +27 -0
- data/lib/exercism-analysis/processors/enumerable_condition_processor.rb +31 -0
- data/lib/exercism-analysis/processors/for_loop_processor.rb +21 -0
- data/lib/exercism-analysis/processors/indentation_processor.rb +69 -0
- data/lib/exercism-analysis/processors/iter_mutation_processor.rb +50 -0
- data/lib/exercism-analysis/processors/processor.rb +34 -0
- data/lib/exercism-analysis/processors/range_processor.rb +23 -0
- data/lib/exercism-analysis/processors/send_processor.rb +23 -0
- data/lib/exercism-analysis/templates/each_to_map.rb +29 -0
- data/lib/exercism-analysis/templates/each_to_select.rb +31 -0
- data/lib/exercism-analysis/templates/range_exclusive.rb +19 -0
- data/lib/exercism-analysis/templates/template.rb +29 -0
- data/vendor/clojure/kibit-runner/LICENSE +214 -0
- data/vendor/clojure/kibit-runner/project.clj +10 -0
- data/vendor/clojure/kibit-runner/src/kibit_runner/core.clj +17 -0
- data/vendor/clojure/kibit-runner/target/kibit-runner-0.1.0-SNAPSHOT-standalone.jar +0 -0
- data/vendor/clojure/kibit-runner/target/kibit-runner-0.1.0-SNAPSHOT.jar +0 -0
- data/vendor/clojure/kibit-runner/target/stale/extract-native.dependencies +1 -0
- data/vendor/go/src/github.com/golang/lint/LICENSE +27 -0
- data/vendor/go/src/github.com/golang/lint/README +59 -0
- data/vendor/go/src/github.com/golang/lint/golint/golint.go +67 -0
- data/vendor/go/src/github.com/golang/lint/lint.go +1061 -0
- data/vendor/go/src/runner/golint_runner.go +23 -0
- data/vendor/javascript/jshint_runner.js +6 -0
- data/vendor/javascript/node_modules/jshint/README.md +47 -0
- data/vendor/javascript/node_modules/jshint/bin/apply +6 -0
- data/vendor/javascript/node_modules/jshint/bin/build +36 -0
- data/vendor/javascript/node_modules/jshint/bin/changelog +36 -0
- data/vendor/javascript/node_modules/jshint/bin/jshint +3 -0
- data/vendor/javascript/node_modules/jshint/bin/land +34 -0
- data/vendor/javascript/node_modules/jshint/data/ascii-identifier-data.js +22 -0
- data/vendor/javascript/node_modules/jshint/data/non-ascii-identifier-part-only.js +1570 -0
- data/vendor/javascript/node_modules/jshint/data/non-ascii-identifier-start.js +48477 -0
- data/vendor/javascript/node_modules/jshint/dist/jshint-rhino.js +60642 -0
- data/vendor/javascript/node_modules/jshint/dist/jshint.js +60525 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/README.md +196 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/cli.js +1139 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/cat.js +17 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/command.js +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/echo.js +54 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/glob.js +6 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/long_desc.js +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/progress.js +11 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/sort.js +18 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/spinner.js +9 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/static.coffee +27 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/static.js +25 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/index.js +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/LICENSE +27 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/README.md +250 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/examples/g.js +9 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/examples/usr-local.js +9 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/glob.js +728 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/LICENSE +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/README.md +42 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/inherits.js +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/inherits_browser.js +23 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/package.json +51 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/test.js +25 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/package.json +58 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/00-setup.js +176 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/bash-comparison.js +63 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/bash-results.json +351 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/cwd-test.js +55 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/globstar-match.js +19 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/mark.js +118 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/new-glob-optional-options.js +10 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/nocase-nomagic.js +113 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/pause-resume.js +73 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/readme-issue.js +36 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/root-nomount.js +39 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/root.js +46 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/stat.js +32 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/zz-cleanup.js +11 -0
- data/vendor/javascript/node_modules/jshint/node_modules/cli/package.json +70 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/LICENCE +19 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/README.md +33 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/index.js +86 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/LICENCE +19 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/README.md +45 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/index.js +5 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/package.json +89 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/seed.js +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/test/index.js +28 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/test/static/index.html +10 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/package.json +88 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/test/index.js +67 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/test/static/index.html +12 -0
- data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/test/static/test-adapter.js +53 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/Gruntfile.js +48 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/LICENSE-MIT +22 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/README.md +75 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/lib/exit.js +41 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/package.json +69 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/exit_test.js +121 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/10-stderr.txt +10 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/10-stdout-stderr.txt +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/10-stdout.txt +10 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/100-stderr.txt +100 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/100-stdout-stderr.txt +200 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/100-stdout.txt +100 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/1000-stderr.txt +1000 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/1000-stdout-stderr.txt +2000 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/1000-stdout.txt +1000 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/create-files.sh +8 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/log-broken.js +23 -0
- data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/log.js +25 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/LICENSE +18 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/README.md +83 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/CollectingHandler.js +55 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/FeedHandler.js +95 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/Parser.js +337 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/ProxyHandler.js +27 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/Stream.js +35 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/Tokenizer.js +891 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/WritableStream.js +21 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/index.js +68 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domelementtype/LICENSE +11 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domelementtype/index.js +14 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domelementtype/package.json +40 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domelementtype/readme.md +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/LICENSE +11 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/index.js +211 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/package.json +68 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/readme.md +102 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/01-basic.json +57 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/02-single_tag_1.json +21 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/03-single_tag_2.json +21 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/04-unescaped_in_script.json +27 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/05-tags_in_comment.json +18 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/06-comment_in_script.json +18 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/07-unescaped_in_style.json +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/08-extra_spaces_in_tag.json +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/09-unquoted_attrib.json +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/10-singular_attribute.json +15 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/11-text_outside_tags.json +40 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/12-text_only.json +11 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/13-comment_in_text.json +19 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/14-comment_in_text_in_script.json +18 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/15-non-verbose.json +22 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/16-normalize_whitespace.json +47 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/17-xml_namespace.json +18 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/18-enforce_empty_tags.json +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/19-ignore_empty_tags.json +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/20-template_script_tags.json +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/21-conditional_comments.json +15 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/22-lowercase_tags.json +41 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/23-dom-lvl1.json +121 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/tests.js +58 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/LICENSE +11 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/index.js +14 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/helpers.js +141 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/legacy.js +87 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/manipulation.js +77 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/querying.js +94 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/stringify.js +93 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/traversal.js +24 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/package.json +71 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/readme.md +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/test/fixture.js +6 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/test/tests/helpers.js +89 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/test/tests/legacy.js +119 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/test/utils.js +9 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/LICENSE +11 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/index.js +31 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/lib/decode.js +72 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/lib/decode_codepoint.js +26 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/lib/encode.js +48 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/maps/decode.json +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/maps/entities.json +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/maps/legacy.json +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/maps/xml.json +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/package.json +79 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/readme.md +31 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/test/mocha.opts +2 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/test/test.js +150 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/LICENSE +18 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/README.md +15 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/duplex.js +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/float.patch +923 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_duplex.js +89 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_passthrough.js +46 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_readable.js +944 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_transform.js +209 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_writable.js +472 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/README.md +3 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/float.patch +604 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/lib/util.js +107 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/package.json +53 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/util.js +106 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/LICENSE +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/README.md +42 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/inherits.js +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/inherits_browser.js +23 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/package.json +51 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/test.js +25 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/README.md +54 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/build/build.js +209 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/component.json +19 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/index.js +3 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/package.json +54 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/string_decoder/LICENSE +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/string_decoder/README.md +7 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/string_decoder/index.js +200 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/string_decoder/package.json +53 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/package.json +68 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/passthrough.js +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/readable.js +7 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/transform.js +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/writable.js +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/package.json +90 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/01-events.js +9 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/02-stream.js +23 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/03-feed.js +19 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Documents/Atom_Example.xml +25 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Documents/Attributes.html +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Documents/Basic.html +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Documents/RDF_Example.xml +63 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Documents/RSS_Example.xml +48 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/01-simple.json +44 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/02-template.json +63 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/03-lowercase_tags.json +46 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/04-cdata.json +50 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/05-cdata-special.json +35 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/06-leading-lt.json +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/07-self-closing.json +67 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/08-implicit-close-tags.json +59 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/09-attributes.json +68 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/10-crazy-attrib.json +52 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/11-script_in_script.json +54 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/12-long-comment-end.json +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/13-long-cdata-end.json +22 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/14-implicit-open-tags.json +27 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/15-lt-whitespace.json +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/16-double_attribs.json +45 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/17-numeric_entities.json +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/18-legacy_entities.json +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/19-named_entities.json +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/20-xml_entities.json +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/21-entity_in_attribute.json +38 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/22-double_brackets.json +41 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/23-legacy_entity_fail.json +16 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/24-special_special.json +133 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/25-empty_tag_name.json +13 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/26-not-quite-closed.json +35 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/27-entities_in_attributes.json +62 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/28-cdata_in_html.json +9 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/29-comment_edge-cases.json +18 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/30-cdata_edge-cases.json +22 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Feeds/01-rss.js +34 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Feeds/02-atom.js +18 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Feeds/03-rdf.js +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Stream/01-basic.json +83 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Stream/02-RSS.json +1093 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Stream/03-Atom.json +644 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Stream/04-RDF.json +1399 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Stream/05-Attributes.json +354 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/api.js +63 -0
- data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/test-helper.js +83 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/LICENSE +23 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/README.md +218 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/minimatch.js +1061 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS +14 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/LICENSE +23 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/README.md +97 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js +252 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/package.json +50 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/test/basic.js +369 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/test/foreach.js +52 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js +50 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/LICENSE +27 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/README.md +53 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/bench.js +283 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/package.json +58 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/sigmund.js +39 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/test/basic.js +24 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/package.json +57 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/test/basic.js +399 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/test/brace-expand.js +33 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/test/caching.js +14 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/test/defaults.js +274 -0
- data/vendor/javascript/node_modules/jshint/node_modules/minimatch/test/extglob-ending-with-state-char.js +8 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/LICENSE +26 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/README.md +569 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/bin/shjs +51 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/global.js +3 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/make.js +47 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/package.json +61 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/scripts/generate-docs.js +21 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/scripts/run-tests.js +50 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/shell.js +157 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/cat.js +43 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/cd.js +19 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/chmod.js +208 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/common.js +203 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/cp.js +201 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/dirs.js +191 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/echo.js +20 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/error.js +10 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/exec.js +181 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/find.js +51 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/grep.js +52 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/ln.js +53 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/ls.js +126 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/mkdir.js +68 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/mv.js +80 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/popd.js +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/pushd.js +1 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/pwd.js +11 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/rm.js +145 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/sed.js +43 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/tempdir.js +56 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/test.js +85 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/to.js +29 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/toEnd.js +29 -0
- data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/which.js +83 -0
- data/vendor/javascript/node_modules/jshint/node_modules/strip-json-comments/cli.js +41 -0
- data/vendor/javascript/node_modules/jshint/node_modules/strip-json-comments/package.json +76 -0
- data/vendor/javascript/node_modules/jshint/node_modules/strip-json-comments/readme.md +74 -0
- data/vendor/javascript/node_modules/jshint/node_modules/strip-json-comments/strip-json-comments.js +64 -0
- data/vendor/javascript/node_modules/jshint/node_modules/underscore/LICENSE +23 -0
- data/vendor/javascript/node_modules/jshint/node_modules/underscore/README.md +22 -0
- data/vendor/javascript/node_modules/jshint/node_modules/underscore/package.json +66 -0
- data/vendor/javascript/node_modules/jshint/node_modules/underscore/underscore-min.js +6 -0
- data/vendor/javascript/node_modules/jshint/node_modules/underscore/underscore.js +1343 -0
- data/vendor/javascript/node_modules/jshint/package.json +80 -0
- data/vendor/javascript/node_modules/jshint/src/cli.js +731 -0
- data/vendor/javascript/node_modules/jshint/src/jshint.js +5023 -0
- data/vendor/javascript/node_modules/jshint/src/lex.js +1650 -0
- data/vendor/javascript/node_modules/jshint/src/messages.js +223 -0
- data/vendor/javascript/node_modules/jshint/src/platforms/rhino.js +115 -0
- data/vendor/javascript/node_modules/jshint/src/reg.js +38 -0
- data/vendor/javascript/node_modules/jshint/src/reporters/checkstyle.js +81 -0
- data/vendor/javascript/node_modules/jshint/src/reporters/default.js +34 -0
- data/vendor/javascript/node_modules/jshint/src/reporters/jslint_xml.js +57 -0
- data/vendor/javascript/node_modules/jshint/src/reporters/non_error.js +52 -0
- data/vendor/javascript/node_modules/jshint/src/state.js +28 -0
- data/vendor/javascript/node_modules/jshint/src/style.js +143 -0
- data/vendor/javascript/node_modules/jshint/src/vars.js +658 -0
- data/vendor/python/astroid/COPYING +339 -0
- data/vendor/python/astroid/COPYING.LESSER +510 -0
- data/vendor/python/astroid/ChangeLog +574 -0
- data/vendor/python/astroid/MANIFEST.in +9 -0
- data/vendor/python/astroid/README +56 -0
- data/vendor/python/astroid/README.Python3 +26 -0
- data/vendor/python/astroid/__init__.py +118 -0
- data/vendor/python/astroid/__init__.pyc +0 -0
- data/vendor/python/astroid/__pkginfo__.py +48 -0
- data/vendor/python/astroid/__pkginfo__.pyc +0 -0
- data/vendor/python/astroid/announce.txt +23 -0
- data/vendor/python/astroid/as_string.py +496 -0
- data/vendor/python/astroid/as_string.pyc +0 -0
- data/vendor/python/astroid/bases.py +618 -0
- data/vendor/python/astroid/bases.pyc +0 -0
- data/vendor/python/astroid/brain/py2gi.py +159 -0
- data/vendor/python/astroid/brain/py2gi.pyc +0 -0
- data/vendor/python/astroid/brain/py2mechanize.py +20 -0
- data/vendor/python/astroid/brain/py2mechanize.pyc +0 -0
- data/vendor/python/astroid/brain/py2qt4.py +25 -0
- data/vendor/python/astroid/brain/py2qt4.pyc +0 -0
- data/vendor/python/astroid/brain/py2stdlib.py +252 -0
- data/vendor/python/astroid/brain/py2stdlib.pyc +0 -0
- data/vendor/python/astroid/builder.py +238 -0
- data/vendor/python/astroid/builder.pyc +0 -0
- data/vendor/python/astroid/exceptions.py +51 -0
- data/vendor/python/astroid/exceptions.pyc +0 -0
- data/vendor/python/astroid/inference.py +393 -0
- data/vendor/python/astroid/inference.pyc +0 -0
- data/vendor/python/astroid/inspector.py +275 -0
- data/vendor/python/astroid/manager.py +336 -0
- data/vendor/python/astroid/manager.pyc +0 -0
- data/vendor/python/astroid/mixins.py +122 -0
- data/vendor/python/astroid/mixins.pyc +0 -0
- data/vendor/python/astroid/node_classes.py +928 -0
- data/vendor/python/astroid/node_classes.pyc +0 -0
- data/vendor/python/astroid/nodes.py +73 -0
- data/vendor/python/astroid/nodes.pyc +0 -0
- data/vendor/python/astroid/protocols.py +322 -0
- data/vendor/python/astroid/protocols.pyc +0 -0
- data/vendor/python/astroid/raw_building.py +361 -0
- data/vendor/python/astroid/raw_building.pyc +0 -0
- data/vendor/python/astroid/rebuilder.py +954 -0
- data/vendor/python/astroid/rebuilder.pyc +0 -0
- data/vendor/python/astroid/scoped_nodes.py +1118 -0
- data/vendor/python/astroid/scoped_nodes.pyc +0 -0
- data/vendor/python/astroid/setup.py +184 -0
- data/vendor/python/astroid/tox.ini +10 -0
- data/vendor/python/astroid/utils.py +236 -0
- data/vendor/python/astroid/utils.pyc +0 -0
- data/vendor/python/logilab/__init__.py +0 -0
- data/vendor/python/logilab/__init__.pyc +0 -0
- data/vendor/python/logilab/common/COPYING +339 -0
- data/vendor/python/logilab/common/COPYING.LESSER +510 -0
- data/vendor/python/logilab/common/ChangeLog +1517 -0
- data/vendor/python/logilab/common/MANIFEST.in +13 -0
- data/vendor/python/logilab/common/README +185 -0
- data/vendor/python/logilab/common/README.Python3 +29 -0
- data/vendor/python/logilab/common/__init__.py +171 -0
- data/vendor/python/logilab/common/__init__.pyc +0 -0
- data/vendor/python/logilab/common/__pkginfo__.py +53 -0
- data/vendor/python/logilab/common/__pkginfo__.pyc +0 -0
- data/vendor/python/logilab/common/announce.txt +25 -0
- data/vendor/python/logilab/common/bin/pytest +7 -0
- data/vendor/python/logilab/common/bin/pytest.bat +17 -0
- data/vendor/python/logilab/common/cache.py +114 -0
- data/vendor/python/logilab/common/changelog.py +236 -0
- data/vendor/python/logilab/common/changelog.pyc +0 -0
- data/vendor/python/logilab/common/clcommands.py +332 -0
- data/vendor/python/logilab/common/cli.py +208 -0
- data/vendor/python/logilab/common/compat.py +243 -0
- data/vendor/python/logilab/common/compat.pyc +0 -0
- data/vendor/python/logilab/common/configuration.py +1094 -0
- data/vendor/python/logilab/common/configuration.pyc +0 -0
- data/vendor/python/logilab/common/contexts.py +5 -0
- data/vendor/python/logilab/common/corbautils.py +117 -0
- data/vendor/python/logilab/common/daemon.py +100 -0
- data/vendor/python/logilab/common/date.py +333 -0
- data/vendor/python/logilab/common/dbf.py +229 -0
- data/vendor/python/logilab/common/debugger.py +210 -0
- data/vendor/python/logilab/common/decorators.py +281 -0
- data/vendor/python/logilab/common/decorators.pyc +0 -0
- data/vendor/python/logilab/common/deprecation.py +188 -0
- data/vendor/python/logilab/common/deprecation.pyc +0 -0
- data/vendor/python/logilab/common/fileutils.py +402 -0
- data/vendor/python/logilab/common/graph.py +276 -0
- data/vendor/python/logilab/common/graph.pyc +0 -0
- data/vendor/python/logilab/common/hg.py +130 -0
- data/vendor/python/logilab/common/interface.py +71 -0
- data/vendor/python/logilab/common/interface.pyc +0 -0
- data/vendor/python/logilab/common/logging_ext.py +193 -0
- data/vendor/python/logilab/common/modutils.py +695 -0
- data/vendor/python/logilab/common/modutils.pyc +0 -0
- data/vendor/python/logilab/common/optik_ext.py +391 -0
- data/vendor/python/logilab/common/optik_ext.pyc +0 -0
- data/vendor/python/logilab/common/optparser.py +90 -0
- data/vendor/python/logilab/common/proc.py +277 -0
- data/vendor/python/logilab/common/pyro_ext.py +180 -0
- data/vendor/python/logilab/common/pytest.py +1177 -0
- data/vendor/python/logilab/common/python-logilab-common.spec +184 -0
- data/vendor/python/logilab/common/registry.py +1113 -0
- data/vendor/python/logilab/common/setup.cfg +3 -0
- data/vendor/python/logilab/common/setup.py +189 -0
- data/vendor/python/logilab/common/shellutils.py +455 -0
- data/vendor/python/logilab/common/sphinx_ext.py +87 -0
- data/vendor/python/logilab/common/sphinxutils.py +122 -0
- data/vendor/python/logilab/common/table.py +925 -0
- data/vendor/python/logilab/common/tasksqueue.py +100 -0
- data/vendor/python/logilab/common/textutils.py +534 -0
- data/vendor/python/logilab/common/textutils.pyc +0 -0
- data/vendor/python/logilab/common/tree.py +369 -0
- data/vendor/python/logilab/common/tree.pyc +0 -0
- data/vendor/python/logilab/common/umessage.py +190 -0
- data/vendor/python/logilab/common/ureports/__init__.py +174 -0
- data/vendor/python/logilab/common/ureports/__init__.pyc +0 -0
- data/vendor/python/logilab/common/ureports/docbook_writer.py +139 -0
- data/vendor/python/logilab/common/ureports/html_writer.py +131 -0
- data/vendor/python/logilab/common/ureports/html_writer.pyc +0 -0
- data/vendor/python/logilab/common/ureports/nodes.py +201 -0
- data/vendor/python/logilab/common/ureports/nodes.pyc +0 -0
- data/vendor/python/logilab/common/ureports/text_writer.py +140 -0
- data/vendor/python/logilab/common/ureports/text_writer.pyc +0 -0
- data/vendor/python/logilab/common/urllib2ext.py +87 -0
- data/vendor/python/logilab/common/vcgutils.py +216 -0
- data/vendor/python/logilab/common/visitor.py +107 -0
- data/vendor/python/logilab/common/visitor.pyc +0 -0
- data/vendor/python/logilab/common/xmlrpcutils.py +131 -0
- data/vendor/python/logilab/common/xmlutils.py +61 -0
- data/vendor/python/pylint/CONTRIBUTORS.txt +38 -0
- data/vendor/python/pylint/COPYING +340 -0
- data/vendor/python/pylint/ChangeLog +1437 -0
- data/vendor/python/pylint/DEPENDS +3 -0
- data/vendor/python/pylint/MANIFEST.in +14 -0
- data/vendor/python/pylint/README +50 -0
- data/vendor/python/pylint/README.Python3 +37 -0
- data/vendor/python/pylint/__init__.py +44 -0
- data/vendor/python/pylint/__init__.pyc +0 -0
- data/vendor/python/pylint/__main__.py +3 -0
- data/vendor/python/pylint/__pkginfo__.py +74 -0
- data/vendor/python/pylint/__pkginfo__.pyc +0 -0
- data/vendor/python/pylint/bin/epylint +3 -0
- data/vendor/python/pylint/bin/epylint.bat +5 -0
- data/vendor/python/pylint/bin/pylint +3 -0
- data/vendor/python/pylint/bin/pylint-gui +3 -0
- data/vendor/python/pylint/bin/pylint-gui.bat +5 -0
- data/vendor/python/pylint/bin/pylint.bat +5 -0
- data/vendor/python/pylint/bin/pyreverse +3 -0
- data/vendor/python/pylint/bin/pyreverse.bat +5 -0
- data/vendor/python/pylint/bin/symilar +3 -0
- data/vendor/python/pylint/bin/symilar.bat +5 -0
- data/vendor/python/pylint/checkers/__init__.py +145 -0
- data/vendor/python/pylint/checkers/__init__.pyc +0 -0
- data/vendor/python/pylint/checkers/base.py +1141 -0
- data/vendor/python/pylint/checkers/base.pyc +0 -0
- data/vendor/python/pylint/checkers/classes.py +792 -0
- data/vendor/python/pylint/checkers/classes.pyc +0 -0
- data/vendor/python/pylint/checkers/design_analysis.py +367 -0
- data/vendor/python/pylint/checkers/design_analysis.pyc +0 -0
- data/vendor/python/pylint/checkers/exceptions.py +306 -0
- data/vendor/python/pylint/checkers/exceptions.pyc +0 -0
- data/vendor/python/pylint/checkers/format.py +943 -0
- data/vendor/python/pylint/checkers/format.pyc +0 -0
- data/vendor/python/pylint/checkers/imports.py +394 -0
- data/vendor/python/pylint/checkers/imports.pyc +0 -0
- data/vendor/python/pylint/checkers/logging.py +213 -0
- data/vendor/python/pylint/checkers/logging.pyc +0 -0
- data/vendor/python/pylint/checkers/misc.py +90 -0
- data/vendor/python/pylint/checkers/misc.pyc +0 -0
- data/vendor/python/pylint/checkers/newstyle.py +151 -0
- data/vendor/python/pylint/checkers/newstyle.pyc +0 -0
- data/vendor/python/pylint/checkers/raw_metrics.py +129 -0
- data/vendor/python/pylint/checkers/raw_metrics.pyc +0 -0
- data/vendor/python/pylint/checkers/similar.py +365 -0
- data/vendor/python/pylint/checkers/similar.pyc +0 -0
- data/vendor/python/pylint/checkers/stdlib.py +69 -0
- data/vendor/python/pylint/checkers/stdlib.pyc +0 -0
- data/vendor/python/pylint/checkers/strings.py +304 -0
- data/vendor/python/pylint/checkers/strings.pyc +0 -0
- data/vendor/python/pylint/checkers/typecheck.py +451 -0
- data/vendor/python/pylint/checkers/typecheck.pyc +0 -0
- data/vendor/python/pylint/checkers/utils.py +416 -0
- data/vendor/python/pylint/checkers/utils.pyc +0 -0
- data/vendor/python/pylint/checkers/variables.py +741 -0
- data/vendor/python/pylint/checkers/variables.pyc +0 -0
- data/vendor/python/pylint/config.py +156 -0
- data/vendor/python/pylint/config.pyc +0 -0
- data/vendor/python/pylint/epylint.py +175 -0
- data/vendor/python/pylint/gui.py +508 -0
- data/vendor/python/pylint/interfaces.py +72 -0
- data/vendor/python/pylint/interfaces.pyc +0 -0
- data/vendor/python/pylint/lint.py +1106 -0
- data/vendor/python/pylint/lint.pyc +0 -0
- data/vendor/python/pylint/pyreverse/__init__.py +5 -0
- data/vendor/python/pylint/pyreverse/diadefslib.py +233 -0
- data/vendor/python/pylint/pyreverse/diagrams.py +247 -0
- data/vendor/python/pylint/pyreverse/main.py +124 -0
- data/vendor/python/pylint/pyreverse/utils.py +131 -0
- data/vendor/python/pylint/pyreverse/writer.py +199 -0
- data/vendor/python/pylint/reporters/__init__.py +138 -0
- data/vendor/python/pylint/reporters/__init__.pyc +0 -0
- data/vendor/python/pylint/reporters/guireporter.py +28 -0
- data/vendor/python/pylint/reporters/guireporter.pyc +0 -0
- data/vendor/python/pylint/reporters/html.py +70 -0
- data/vendor/python/pylint/reporters/html.pyc +0 -0
- data/vendor/python/pylint/reporters/text.py +143 -0
- data/vendor/python/pylint/reporters/text.pyc +0 -0
- data/vendor/python/pylint/setup.cfg +3 -0
- data/vendor/python/pylint/setup.py +203 -0
- data/vendor/python/pylint/tox.ini +10 -0
- data/vendor/python/pylint/utils.py +744 -0
- data/vendor/python/pylint/utils.pyc +0 -0
- data/vendor/python/pylint_runner.py +22 -0
- metadata +675 -0
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# Copyright (c) 2003-2013 LOGILAB S.A. (Paris, FRANCE).
|
|
2
|
+
# This program is free software; you can redistribute it and/or modify it under
|
|
3
|
+
# the terms of the GNU General Public License as published by the Free Software
|
|
4
|
+
# Foundation; either version 2 of the License, or (at your option) any later
|
|
5
|
+
# version.
|
|
6
|
+
#
|
|
7
|
+
# This program is distributed in the hope that it will be useful, but WITHOUT
|
|
8
|
+
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
9
|
+
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
10
|
+
#
|
|
11
|
+
# You should have received a copy of the GNU General Public License along with
|
|
12
|
+
# this program; if not, write to the Free Software Foundation, Inc.,
|
|
13
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
14
|
+
"""utilities methods and classes for reporters"""
|
|
15
|
+
|
|
16
|
+
import sys
|
|
17
|
+
import locale
|
|
18
|
+
import os
|
|
19
|
+
|
|
20
|
+
from pylint.utils import MSG_TYPES
|
|
21
|
+
|
|
22
|
+
from pylint import utils
|
|
23
|
+
|
|
24
|
+
CMPS = ['=', '-', '+']
|
|
25
|
+
|
|
26
|
+
# py3k has no more cmp builtin
|
|
27
|
+
if sys.version_info >= (3, 0):
|
|
28
|
+
def cmp(a, b):
|
|
29
|
+
return (a > b) - (a < b)
|
|
30
|
+
|
|
31
|
+
if sys.version_info < (2, 6):
|
|
32
|
+
import stringformat
|
|
33
|
+
stringformat.init(True)
|
|
34
|
+
|
|
35
|
+
def diff_string(old, new):
|
|
36
|
+
"""given a old and new int value, return a string representing the
|
|
37
|
+
difference
|
|
38
|
+
"""
|
|
39
|
+
diff = abs(old - new)
|
|
40
|
+
diff_str = "%s%s" % (CMPS[cmp(old, new)], diff and ('%.2f' % diff) or '')
|
|
41
|
+
return diff_str
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class Message(object):
|
|
45
|
+
"""This class represent a message to be issued by the reporters"""
|
|
46
|
+
|
|
47
|
+
def __init__(self, reporter, msg_id, location, msg):
|
|
48
|
+
self.msg_id = msg_id
|
|
49
|
+
self.abspath, self.module, self.obj, self.line, self.column = location
|
|
50
|
+
self.path = self.abspath.replace(reporter.path_strip_prefix, '')
|
|
51
|
+
self.msg = msg
|
|
52
|
+
self.C = msg_id[0]
|
|
53
|
+
self.category = MSG_TYPES[msg_id[0]]
|
|
54
|
+
self.symbol = reporter.linter.check_message_id(msg_id).symbol
|
|
55
|
+
|
|
56
|
+
def format(self, template):
|
|
57
|
+
"""Format the message according to the given template.
|
|
58
|
+
|
|
59
|
+
The template format is the one of the format method :
|
|
60
|
+
cf. http://docs.python.org/2/library/string.html#formatstrings
|
|
61
|
+
"""
|
|
62
|
+
return template.format(**(self.__dict__))
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
class BaseReporter(object):
|
|
66
|
+
"""base class for reporters
|
|
67
|
+
|
|
68
|
+
symbols: show short symbolic names for messages.
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
extension = ''
|
|
72
|
+
|
|
73
|
+
def __init__(self, output=None):
|
|
74
|
+
self.linter = None
|
|
75
|
+
# self.include_ids = None # Deprecated
|
|
76
|
+
# self.symbols = None # Deprecated
|
|
77
|
+
self.section = 0
|
|
78
|
+
self.out = None
|
|
79
|
+
self.out_encoding = None
|
|
80
|
+
self.encode = None
|
|
81
|
+
self.set_output(output)
|
|
82
|
+
# Build the path prefix to strip to get relative paths
|
|
83
|
+
self.path_strip_prefix = os.getcwd() + os.sep
|
|
84
|
+
|
|
85
|
+
def add_message(self, msg_id, location, msg):
|
|
86
|
+
"""Client API to send a message"""
|
|
87
|
+
# Shall we store the message objects somewhere, do some validity checking ?
|
|
88
|
+
raise NotImplementedError
|
|
89
|
+
|
|
90
|
+
def set_output(self, output=None):
|
|
91
|
+
"""set output stream"""
|
|
92
|
+
self.out = output or sys.stdout
|
|
93
|
+
# py3k streams handle their encoding :
|
|
94
|
+
if sys.version_info >= (3, 0):
|
|
95
|
+
self.encode = lambda x: x
|
|
96
|
+
return
|
|
97
|
+
|
|
98
|
+
def encode(string):
|
|
99
|
+
if not isinstance(string, unicode):
|
|
100
|
+
return string
|
|
101
|
+
encoding = (getattr(self.out, 'encoding', None) or
|
|
102
|
+
locale.getdefaultlocale()[1] or
|
|
103
|
+
sys.getdefaultencoding())
|
|
104
|
+
# errors=replace, we don't want to crash when attempting to show
|
|
105
|
+
# source code line that can't be encoded with the current locale
|
|
106
|
+
# settings
|
|
107
|
+
return string.encode(encoding, 'replace')
|
|
108
|
+
self.encode = encode
|
|
109
|
+
|
|
110
|
+
def writeln(self, string=''):
|
|
111
|
+
"""write a line in the output buffer"""
|
|
112
|
+
print >> self.out, self.encode(string)
|
|
113
|
+
|
|
114
|
+
def display_results(self, layout):
|
|
115
|
+
"""display results encapsulated in the layout tree"""
|
|
116
|
+
self.section = 0
|
|
117
|
+
if hasattr(layout, 'report_id'):
|
|
118
|
+
layout.children[0].children[0].data += ' (%s)' % layout.report_id
|
|
119
|
+
self._display(layout)
|
|
120
|
+
|
|
121
|
+
def _display(self, layout):
|
|
122
|
+
"""display the layout"""
|
|
123
|
+
raise NotImplementedError()
|
|
124
|
+
|
|
125
|
+
# Event callbacks
|
|
126
|
+
|
|
127
|
+
def on_set_current_module(self, module, filepath):
|
|
128
|
+
"""starting analyzis of a module"""
|
|
129
|
+
pass
|
|
130
|
+
|
|
131
|
+
def on_close(self, stats, previous_stats):
|
|
132
|
+
"""global end of analyzis"""
|
|
133
|
+
pass
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
def initialize(linter):
|
|
137
|
+
"""initialize linter with reporters in this package """
|
|
138
|
+
utils.register_plugins(linter, __path__[0])
|
|
Binary file
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
""" reporter used by gui.py """
|
|
2
|
+
|
|
3
|
+
import sys
|
|
4
|
+
|
|
5
|
+
from pylint.interfaces import IReporter
|
|
6
|
+
from pylint.reporters import BaseReporter, Message
|
|
7
|
+
from logilab.common.ureports import TextWriter
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class GUIReporter(BaseReporter):
|
|
11
|
+
"""saves messages"""
|
|
12
|
+
|
|
13
|
+
__implements__ = IReporter
|
|
14
|
+
extension = ''
|
|
15
|
+
|
|
16
|
+
def __init__(self, gui, output=sys.stdout):
|
|
17
|
+
"""init"""
|
|
18
|
+
BaseReporter.__init__(self, output)
|
|
19
|
+
self.gui = gui
|
|
20
|
+
|
|
21
|
+
def add_message(self, msg_id, location, msg):
|
|
22
|
+
"""manage message of different type and in the context of path"""
|
|
23
|
+
message = Message(self, msg_id, location, msg)
|
|
24
|
+
self.gui.msg_queue.put(message)
|
|
25
|
+
|
|
26
|
+
def _display(self, layout):
|
|
27
|
+
"""launch layouts display"""
|
|
28
|
+
TextWriter().format(layout, self.out)
|
|
Binary file
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Copyright (c) 2003-2013 LOGILAB S.A. (Paris, FRANCE).
|
|
2
|
+
# This program is free software; you can redistribute it and/or modify it under
|
|
3
|
+
# the terms of the GNU General Public License as published by the Free Software
|
|
4
|
+
# Foundation; either version 2 of the License, or (at your option) any later
|
|
5
|
+
# version.
|
|
6
|
+
#
|
|
7
|
+
# This program is distributed in the hope that it will be useful, but WITHOUT
|
|
8
|
+
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
9
|
+
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
10
|
+
#
|
|
11
|
+
# You should have received a copy of the GNU General Public License along with
|
|
12
|
+
# this program; if not, write to the Free Software Foundation, Inc.,
|
|
13
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
14
|
+
"""HTML reporter"""
|
|
15
|
+
|
|
16
|
+
import sys
|
|
17
|
+
from cgi import escape
|
|
18
|
+
|
|
19
|
+
from logilab.common.ureports import HTMLWriter, Section, Table
|
|
20
|
+
|
|
21
|
+
from pylint.interfaces import IReporter
|
|
22
|
+
from pylint.reporters import BaseReporter, Message
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class HTMLReporter(BaseReporter):
|
|
26
|
+
"""report messages and layouts in HTML"""
|
|
27
|
+
|
|
28
|
+
__implements__ = IReporter
|
|
29
|
+
name = 'html'
|
|
30
|
+
extension = 'html'
|
|
31
|
+
|
|
32
|
+
def __init__(self, output=sys.stdout):
|
|
33
|
+
BaseReporter.__init__(self, output)
|
|
34
|
+
self.msgs = []
|
|
35
|
+
|
|
36
|
+
def add_message(self, msg_id, location, msg):
|
|
37
|
+
"""manage message of different type and in the context of path"""
|
|
38
|
+
msg = Message(self, msg_id, location, msg)
|
|
39
|
+
self.msgs += (msg.category, msg.module, msg.obj,
|
|
40
|
+
str(msg.line), str(msg.column), escape(msg.msg))
|
|
41
|
+
|
|
42
|
+
def set_output(self, output=None):
|
|
43
|
+
"""set output stream
|
|
44
|
+
|
|
45
|
+
messages buffered for old output is processed first"""
|
|
46
|
+
if self.out and self.msgs:
|
|
47
|
+
self._display(Section())
|
|
48
|
+
BaseReporter.set_output(self, output)
|
|
49
|
+
|
|
50
|
+
def _display(self, layout):
|
|
51
|
+
"""launch layouts display
|
|
52
|
+
|
|
53
|
+
overridden from BaseReporter to add insert the messages section
|
|
54
|
+
(in add_message, message is not displayed, just collected so it
|
|
55
|
+
can be displayed in an html table)
|
|
56
|
+
"""
|
|
57
|
+
if self.msgs:
|
|
58
|
+
# add stored messages to the layout
|
|
59
|
+
msgs = ['type', 'module', 'object', 'line', 'col_offset', 'message']
|
|
60
|
+
msgs += self.msgs
|
|
61
|
+
sect = Section('Messages')
|
|
62
|
+
layout.append(sect)
|
|
63
|
+
sect.append(Table(cols=6, children=msgs, rheaders=1))
|
|
64
|
+
self.msgs = []
|
|
65
|
+
HTMLWriter().format(layout, self.out)
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
def register(linter):
|
|
69
|
+
"""Register the reporter classes with the linter."""
|
|
70
|
+
linter.register_reporter(HTMLReporter)
|
|
Binary file
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# Copyright (c) 2003-2013 LOGILAB S.A. (Paris, FRANCE).
|
|
2
|
+
# This program is free software; you can redistribute it and/or modify it under
|
|
3
|
+
# the terms of the GNU General Public License as published by the Free Software
|
|
4
|
+
# Foundation; either version 2 of the License, or (at your option) any later
|
|
5
|
+
# version.
|
|
6
|
+
#
|
|
7
|
+
# This program is distributed in the hope that it will be useful, but WITHOUT
|
|
8
|
+
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
9
|
+
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
10
|
+
#
|
|
11
|
+
# You should have received a copy of the GNU General Public License along with
|
|
12
|
+
# this program; if not, write to the Free Software Foundation, Inc.,
|
|
13
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
14
|
+
"""Plain text reporters:
|
|
15
|
+
|
|
16
|
+
:text: the default one grouping messages by module
|
|
17
|
+
:colorized: an ANSI colorized text reporter
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
import warnings
|
|
21
|
+
|
|
22
|
+
from logilab.common.ureports import TextWriter
|
|
23
|
+
from logilab.common.textutils import colorize_ansi
|
|
24
|
+
|
|
25
|
+
from pylint.interfaces import IReporter
|
|
26
|
+
from pylint.reporters import BaseReporter, Message
|
|
27
|
+
|
|
28
|
+
TITLE_UNDERLINES = ['', '=', '-', '.']
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class TextReporter(BaseReporter):
|
|
32
|
+
"""reports messages and layouts in plain text"""
|
|
33
|
+
|
|
34
|
+
__implements__ = IReporter
|
|
35
|
+
name = 'text'
|
|
36
|
+
extension = 'txt'
|
|
37
|
+
line_format = '{C}:{line:3d},{column:2d}: {msg} ({symbol})'
|
|
38
|
+
|
|
39
|
+
def __init__(self, output=None):
|
|
40
|
+
BaseReporter.__init__(self, output)
|
|
41
|
+
self._modules = {}
|
|
42
|
+
self._template = None
|
|
43
|
+
|
|
44
|
+
def on_set_current_module(self, module, filepath):
|
|
45
|
+
self._template = unicode(self.linter.config.msg_template or self.line_format)
|
|
46
|
+
|
|
47
|
+
def write_message(self, msg):
|
|
48
|
+
"""Convenience method to write a formated message with class default template"""
|
|
49
|
+
self.writeln(msg.format(self._template))
|
|
50
|
+
|
|
51
|
+
def add_message(self, msg_id, location, msg):
|
|
52
|
+
"""manage message of different type and in the context of path"""
|
|
53
|
+
m = Message(self, msg_id, location, msg)
|
|
54
|
+
if m.module not in self._modules:
|
|
55
|
+
if m.module:
|
|
56
|
+
self.writeln('************* Module %s' % m.module)
|
|
57
|
+
self._modules[m.module] = 1
|
|
58
|
+
else:
|
|
59
|
+
self.writeln('************* ')
|
|
60
|
+
self.write_message(m)
|
|
61
|
+
|
|
62
|
+
def _display(self, layout):
|
|
63
|
+
"""launch layouts display"""
|
|
64
|
+
print >> self.out
|
|
65
|
+
TextWriter().format(layout, self.out)
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
class ParseableTextReporter(TextReporter):
|
|
69
|
+
"""a reporter very similar to TextReporter, but display messages in a form
|
|
70
|
+
recognized by most text editors :
|
|
71
|
+
|
|
72
|
+
<filename>:<linenum>:<msg>
|
|
73
|
+
"""
|
|
74
|
+
name = 'parseable'
|
|
75
|
+
line_format = '{path}:{line}: [{msg_id}({symbol}), {obj}] {msg}'
|
|
76
|
+
|
|
77
|
+
def __init__(self, output=None):
|
|
78
|
+
warnings.warn('%s output format is deprecated. This is equivalent '
|
|
79
|
+
'to --msg-template=%s' % (self.name, self.line_format))
|
|
80
|
+
TextReporter.__init__(self, output)
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
class VSTextReporter(ParseableTextReporter):
|
|
84
|
+
"""Visual studio text reporter"""
|
|
85
|
+
name = 'msvs'
|
|
86
|
+
line_format = '{path}({line}): [{msg_id}({symbol}){obj}] {msg}'
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
class ColorizedTextReporter(TextReporter):
|
|
90
|
+
"""Simple TextReporter that colorizes text output"""
|
|
91
|
+
|
|
92
|
+
name = 'colorized'
|
|
93
|
+
COLOR_MAPPING = {
|
|
94
|
+
"I" : ("green", None),
|
|
95
|
+
'C' : (None, "bold"),
|
|
96
|
+
'R' : ("magenta", "bold, italic"),
|
|
97
|
+
'W' : ("blue", None),
|
|
98
|
+
'E' : ("red", "bold"),
|
|
99
|
+
'F' : ("red", "bold, underline"),
|
|
100
|
+
'S' : ("yellow", "inverse"), # S stands for module Separator
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
def __init__(self, output=None, color_mapping=None):
|
|
104
|
+
TextReporter.__init__(self, output)
|
|
105
|
+
self.color_mapping = color_mapping or \
|
|
106
|
+
dict(ColorizedTextReporter.COLOR_MAPPING)
|
|
107
|
+
|
|
108
|
+
def _get_decoration(self, msg_id):
|
|
109
|
+
"""Returns the tuple color, style associated with msg_id as defined
|
|
110
|
+
in self.color_mapping
|
|
111
|
+
"""
|
|
112
|
+
try:
|
|
113
|
+
return self.color_mapping[msg_id[0]]
|
|
114
|
+
except KeyError:
|
|
115
|
+
return None, None
|
|
116
|
+
|
|
117
|
+
def add_message(self, msg_id, location, msg):
|
|
118
|
+
"""manage message of different types, and colorize output
|
|
119
|
+
using ansi escape codes
|
|
120
|
+
"""
|
|
121
|
+
msg = Message(self, msg_id, location, msg)
|
|
122
|
+
if msg.module not in self._modules:
|
|
123
|
+
color, style = self._get_decoration('S')
|
|
124
|
+
if msg.module:
|
|
125
|
+
modsep = colorize_ansi('************* Module %s' % msg.module,
|
|
126
|
+
color, style)
|
|
127
|
+
else:
|
|
128
|
+
modsep = colorize_ansi('************* %s' % msg.module,
|
|
129
|
+
color, style)
|
|
130
|
+
self.writeln(modsep)
|
|
131
|
+
self._modules[msg.module] = 1
|
|
132
|
+
color, style = self._get_decoration(msg.C)
|
|
133
|
+
for attr in ('msg', 'symbol', 'category', 'C'):
|
|
134
|
+
setattr(msg, attr, colorize_ansi(getattr(msg, attr), color, style))
|
|
135
|
+
self.write_message(msg)
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
def register(linter):
|
|
139
|
+
"""Register the reporter classes with the linter."""
|
|
140
|
+
linter.register_reporter(TextReporter)
|
|
141
|
+
linter.register_reporter(ParseableTextReporter)
|
|
142
|
+
linter.register_reporter(VSTextReporter)
|
|
143
|
+
linter.register_reporter(ColorizedTextReporter)
|
|
Binary file
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
# -*- coding: utf-8 -*-
|
|
3
|
+
# pylint: disable=W0404,W0622,W0704,W0613
|
|
4
|
+
# copyright 2003-2013 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
|
|
5
|
+
# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
|
|
6
|
+
#
|
|
7
|
+
# This file is part of pylint.
|
|
8
|
+
#
|
|
9
|
+
# pylint is free software: you can redistribute it and/or modify it under
|
|
10
|
+
# the terms of the GNU Lesser General Public License as published by the Free
|
|
11
|
+
# Software Foundation, either version 2.1 of the License, or (at your option) any
|
|
12
|
+
# later version.
|
|
13
|
+
#
|
|
14
|
+
# pylint is distributed in the hope that it will be useful, but WITHOUT
|
|
15
|
+
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
16
|
+
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
|
|
17
|
+
# details.
|
|
18
|
+
#
|
|
19
|
+
# You should have received a copy of the GNU Lesser General Public License along
|
|
20
|
+
# with pylint. If not, see <http://www.gnu.org/licenses/>.
|
|
21
|
+
"""Generic Setup script, takes package info from __pkginfo__.py file.
|
|
22
|
+
"""
|
|
23
|
+
__docformat__ = "restructuredtext en"
|
|
24
|
+
|
|
25
|
+
import os
|
|
26
|
+
import sys
|
|
27
|
+
import shutil
|
|
28
|
+
from os.path import isdir, exists, join
|
|
29
|
+
|
|
30
|
+
try:
|
|
31
|
+
if os.environ.get('NO_SETUPTOOLS'):
|
|
32
|
+
raise ImportError()
|
|
33
|
+
from setuptools import setup
|
|
34
|
+
from setuptools.command import install_lib
|
|
35
|
+
USE_SETUPTOOLS = 1
|
|
36
|
+
except ImportError:
|
|
37
|
+
from distutils.core import setup
|
|
38
|
+
from distutils.command import install_lib
|
|
39
|
+
USE_SETUPTOOLS = 0
|
|
40
|
+
|
|
41
|
+
try:
|
|
42
|
+
# pylint: disable=no-name-in-module
|
|
43
|
+
# python3
|
|
44
|
+
from distutils.command.build_py import build_py_2to3 as build_py
|
|
45
|
+
except ImportError:
|
|
46
|
+
# pylint: disable=no-name-in-module
|
|
47
|
+
# python2.x
|
|
48
|
+
from distutils.command.build_py import build_py
|
|
49
|
+
|
|
50
|
+
sys.modules.pop('__pkginfo__', None)
|
|
51
|
+
# import optional features
|
|
52
|
+
__pkginfo__ = __import__("__pkginfo__")
|
|
53
|
+
# import required features
|
|
54
|
+
from __pkginfo__ import modname, version, license, description, \
|
|
55
|
+
web, author, author_email, classifiers
|
|
56
|
+
|
|
57
|
+
distname = getattr(__pkginfo__, 'distname', modname)
|
|
58
|
+
scripts = getattr(__pkginfo__, 'scripts', [])
|
|
59
|
+
data_files = getattr(__pkginfo__, 'data_files', None)
|
|
60
|
+
subpackage_of = getattr(__pkginfo__, 'subpackage_of', None)
|
|
61
|
+
include_dirs = getattr(__pkginfo__, 'include_dirs', [])
|
|
62
|
+
ext_modules = getattr(__pkginfo__, 'ext_modules', None)
|
|
63
|
+
install_requires = getattr(__pkginfo__, 'install_requires', None)
|
|
64
|
+
dependency_links = getattr(__pkginfo__, 'dependency_links', [])
|
|
65
|
+
|
|
66
|
+
STD_BLACKLIST = ('CVS', '.svn', '.hg', 'debian', 'dist', 'build')
|
|
67
|
+
|
|
68
|
+
IGNORED_EXTENSIONS = ('.pyc', '.pyo', '.elc', '~')
|
|
69
|
+
|
|
70
|
+
if exists('README'):
|
|
71
|
+
long_description = open('README').read()
|
|
72
|
+
else:
|
|
73
|
+
long_description = ''
|
|
74
|
+
|
|
75
|
+
def ensure_scripts(linux_scripts):
|
|
76
|
+
"""Creates the proper script names required for each platform
|
|
77
|
+
(taken from 4Suite)
|
|
78
|
+
"""
|
|
79
|
+
from distutils import util
|
|
80
|
+
if util.get_platform()[:3] == 'win':
|
|
81
|
+
return linux_scripts + [script + '.bat' for script in linux_scripts]
|
|
82
|
+
return linux_scripts
|
|
83
|
+
|
|
84
|
+
def get_packages(directory, prefix):
|
|
85
|
+
"""return a list of subpackages for the given directory"""
|
|
86
|
+
result = []
|
|
87
|
+
for package in os.listdir(directory):
|
|
88
|
+
absfile = join(directory, package)
|
|
89
|
+
if isdir(absfile):
|
|
90
|
+
if exists(join(absfile, '__init__.py')):
|
|
91
|
+
if prefix:
|
|
92
|
+
result.append('%s.%s' % (prefix, package))
|
|
93
|
+
else:
|
|
94
|
+
result.append(package)
|
|
95
|
+
result += get_packages(absfile, result[-1])
|
|
96
|
+
return result
|
|
97
|
+
|
|
98
|
+
EMPTY_FILE = '''"""generated file, don't modify or your data will be lost"""
|
|
99
|
+
try:
|
|
100
|
+
__import__('pkg_resources').declare_namespace(__name__)
|
|
101
|
+
except ImportError:
|
|
102
|
+
pass
|
|
103
|
+
'''
|
|
104
|
+
|
|
105
|
+
class MyInstallLib(install_lib.install_lib):
|
|
106
|
+
"""extend install_lib command to handle package __init__.py and
|
|
107
|
+
include_dirs variable if necessary
|
|
108
|
+
"""
|
|
109
|
+
def run(self):
|
|
110
|
+
"""overridden from install_lib class"""
|
|
111
|
+
install_lib.install_lib.run(self)
|
|
112
|
+
# create Products.__init__.py if needed
|
|
113
|
+
if subpackage_of:
|
|
114
|
+
product_init = join(self.install_dir, subpackage_of, '__init__.py')
|
|
115
|
+
if not exists(product_init):
|
|
116
|
+
self.announce('creating %s' % product_init)
|
|
117
|
+
stream = open(product_init, 'w')
|
|
118
|
+
stream.write(EMPTY_FILE)
|
|
119
|
+
stream.close()
|
|
120
|
+
# manually install included directories if any
|
|
121
|
+
if include_dirs:
|
|
122
|
+
if subpackage_of:
|
|
123
|
+
base = join(subpackage_of, modname)
|
|
124
|
+
else:
|
|
125
|
+
base = modname
|
|
126
|
+
for directory in include_dirs:
|
|
127
|
+
dest = join(self.install_dir, base, directory)
|
|
128
|
+
if sys.version_info >= (3, 0):
|
|
129
|
+
exclude = set(('func_unknown_encoding.py',
|
|
130
|
+
'func_invalid_encoded_data.py'))
|
|
131
|
+
else:
|
|
132
|
+
exclude = set()
|
|
133
|
+
shutil.rmtree(dest, ignore_errors=True)
|
|
134
|
+
shutil.copytree(directory, dest)
|
|
135
|
+
# since python2.5's copytree doesn't support the ignore
|
|
136
|
+
# parameter, the following loop to remove the exclude set
|
|
137
|
+
# was added
|
|
138
|
+
for (dirpath, dirnames, filenames) in os.walk(dest):
|
|
139
|
+
for n in filenames:
|
|
140
|
+
if n in exclude:
|
|
141
|
+
os.remove(os.path.join(dirpath, n))
|
|
142
|
+
if sys.version_info >= (3, 0):
|
|
143
|
+
# process manually python file in include_dirs (test data)
|
|
144
|
+
# pylint: disable=no-name-in-module
|
|
145
|
+
from distutils.util import run_2to3
|
|
146
|
+
print('running 2to3 on', dest)
|
|
147
|
+
run_2to3([dest])
|
|
148
|
+
|
|
149
|
+
# override this since pip/easy_install attempt to byte compile test data
|
|
150
|
+
# files, some of them being syntactically wrong by design, and this scares
|
|
151
|
+
# the end-user
|
|
152
|
+
def byte_compile(self, files):
|
|
153
|
+
testdir = join('pylint', 'test')
|
|
154
|
+
files = [f for f in files if testdir not in f]
|
|
155
|
+
install_lib.install_lib.byte_compile(self, files)
|
|
156
|
+
|
|
157
|
+
def install(**kwargs):
|
|
158
|
+
"""setup entry point"""
|
|
159
|
+
if USE_SETUPTOOLS:
|
|
160
|
+
if '--force-manifest' in sys.argv:
|
|
161
|
+
sys.argv.remove('--force-manifest')
|
|
162
|
+
# install-layout option was introduced in 2.5.3-1~exp1
|
|
163
|
+
elif sys.version_info < (2, 5, 4) and '--install-layout=deb' in sys.argv:
|
|
164
|
+
sys.argv.remove('--install-layout=deb')
|
|
165
|
+
if subpackage_of:
|
|
166
|
+
package = subpackage_of + '.' + modname
|
|
167
|
+
kwargs['package_dir'] = {package : '.'}
|
|
168
|
+
packages = [package] + get_packages(os.getcwd(), package)
|
|
169
|
+
if USE_SETUPTOOLS:
|
|
170
|
+
kwargs['namespace_packages'] = [subpackage_of]
|
|
171
|
+
else:
|
|
172
|
+
kwargs['package_dir'] = {modname : '.'}
|
|
173
|
+
packages = [modname] + get_packages(os.getcwd(), modname)
|
|
174
|
+
if USE_SETUPTOOLS:
|
|
175
|
+
if install_requires:
|
|
176
|
+
kwargs['install_requires'] = install_requires
|
|
177
|
+
kwargs['dependency_links'] = dependency_links
|
|
178
|
+
kwargs['entry_points'] = {'console_scripts': [
|
|
179
|
+
'pylint = pylint:run_pylint',
|
|
180
|
+
'pylint-gui = pylint:run_pylint_gui',
|
|
181
|
+
'epylint = pylint:run_epylint',
|
|
182
|
+
'pyreverse = pylint:run_pyreverse',
|
|
183
|
+
'symilar = pylint:run_symilar',
|
|
184
|
+
]}
|
|
185
|
+
kwargs['packages'] = packages
|
|
186
|
+
return setup(name=distname,
|
|
187
|
+
version=version,
|
|
188
|
+
license=license,
|
|
189
|
+
description=description,
|
|
190
|
+
long_description=long_description,
|
|
191
|
+
author=author,
|
|
192
|
+
author_email=author_email,
|
|
193
|
+
url=web,
|
|
194
|
+
scripts=ensure_scripts(scripts),
|
|
195
|
+
classifiers=classifiers,
|
|
196
|
+
data_files=data_files,
|
|
197
|
+
ext_modules=ext_modules,
|
|
198
|
+
cmdclass={'install_lib': MyInstallLib,
|
|
199
|
+
'build_py': build_py},
|
|
200
|
+
**kwargs)
|
|
201
|
+
|
|
202
|
+
if __name__ == '__main__' :
|
|
203
|
+
install()
|