bee_python 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/{build/README → README} +1 -1
- data/egg/egg/build.yml +11 -49
- data/egg/egg.yml +19 -27
- data/egg/http/build.erb +32 -36
- data/egg/http/libhttp.py +102 -0
- data/egg/http/pylint.cfg +236 -0
- data/egg/http/server.py +7 -0
- data/egg/http/test.erb +32 -0
- data/egg/http.yml +33 -29
- data/egg/mysql/mysql.py +8 -9
- data/egg/project/build.erb +21 -53
- data/egg/project/pylint.cfg +236 -0
- data/egg/project/test.py +2 -2
- data/egg/project.yml +23 -31
- data/egg/script/build.erb +18 -23
- data/egg/script/pylint.cfg +236 -0
- data/egg/script.yml +22 -18
- data/egg/source/source.py +6 -6
- data/egg/test/test.py +1 -1
- data/lib/bee_task_python.rb +3 -34
- data/python.yml +123 -0
- metadata +61 -503
- data/test/build.yml +0 -16
- data/test/tc_bee_task_python.rb +0 -27
- data/test/test_build.rb +0 -26
- data/test/test_build_listener.rb +0 -110
- data/test/ts_bee_python.rb +0 -26
- data/tools/common/__init__.py +0 -5
- data/tools/common/common/__init__.py +0 -140
- data/tools/common/common/__pkginfo__.py +0 -43
- data/tools/common/common/adbh.py +0 -35
- data/tools/common/common/cache.py +0 -114
- data/tools/common/common/changelog.py +0 -234
- data/tools/common/common/clcommands.py +0 -181
- data/tools/common/common/cli.py +0 -212
- data/tools/common/common/compat.py +0 -328
- data/tools/common/common/configuration.py +0 -1087
- data/tools/common/common/contexts.py +0 -58
- data/tools/common/common/corbautils.py +0 -117
- data/tools/common/common/daemon.py +0 -171
- data/tools/common/common/date.py +0 -279
- data/tools/common/common/db.py +0 -49
- data/tools/common/common/dbf.py +0 -229
- data/tools/common/common/debugger.py +0 -208
- data/tools/common/common/decorators.py +0 -190
- data/tools/common/common/deprecation.py +0 -118
- data/tools/common/common/fileutils.py +0 -409
- data/tools/common/common/graph.py +0 -259
- data/tools/common/common/html.py +0 -142
- data/tools/common/common/interface.py +0 -76
- data/tools/common/common/logging_ext.py +0 -166
- data/tools/common/common/modutils.py +0 -670
- data/tools/common/common/optik_ext.py +0 -383
- data/tools/common/common/optparser.py +0 -92
- data/tools/common/common/pdf_ext.py +0 -111
- data/tools/common/common/proc.py +0 -276
- data/tools/common/common/pyro_ext.py +0 -146
- data/tools/common/common/pytest.py +0 -754
- data/tools/common/common/shellutils.py +0 -383
- data/tools/common/common/sphinx_ext.py +0 -87
- data/tools/common/common/sphinxutils.py +0 -122
- data/tools/common/common/sqlgen.py +0 -31
- data/tools/common/common/table.py +0 -930
- data/tools/common/common/tasksqueue.py +0 -97
- data/tools/common/common/test/__init__.py +0 -1
- data/tools/common/common/test/data/ChangeLog +0 -184
- data/tools/common/common/test/data/MyPyPa-0.1.0-py2.5.egg +0 -0
- data/tools/common/common/test/data/__init__.py +0 -1
- data/tools/common/common/test/data/content_differ_dir/NOTHING +0 -0
- data/tools/common/common/test/data/content_differ_dir/README +0 -1
- data/tools/common/common/test/data/content_differ_dir/subdir/coin +0 -1
- data/tools/common/common/test/data/content_differ_dir/subdir/toto.txt +0 -53
- data/tools/common/common/test/data/file_differ_dir/NOTHING +0 -0
- data/tools/common/common/test/data/file_differ_dir/README +0 -1
- data/tools/common/common/test/data/file_differ_dir/subdir/toto.txt +0 -53
- data/tools/common/common/test/data/file_differ_dir/subdirtwo/Hello +0 -0
- data/tools/common/common/test/data/find_test/__init__.py +0 -0
- data/tools/common/common/test/data/find_test/foo.txt +0 -0
- data/tools/common/common/test/data/find_test/module.py +0 -0
- data/tools/common/common/test/data/find_test/module2.py +0 -0
- data/tools/common/common/test/data/find_test/newlines.txt +0 -0
- data/tools/common/common/test/data/find_test/noendingnewline.py +0 -0
- data/tools/common/common/test/data/find_test/nonregr.py +0 -0
- data/tools/common/common/test/data/find_test/normal_file.txt +0 -0
- data/tools/common/common/test/data/find_test/spam.txt +0 -0
- data/tools/common/common/test/data/find_test/sub/doc.txt +0 -0
- data/tools/common/common/test/data/find_test/sub/momo.py +0 -0
- data/tools/common/common/test/data/find_test/test.ini +0 -0
- data/tools/common/common/test/data/find_test/test1.msg +0 -0
- data/tools/common/common/test/data/find_test/test2.msg +0 -0
- data/tools/common/common/test/data/find_test/write_protected_file.txt +0 -0
- data/tools/common/common/test/data/foo.txt +0 -9
- data/tools/common/common/test/data/module.py +0 -88
- data/tools/common/common/test/data/module2.py +0 -77
- data/tools/common/common/test/data/newlines.txt +0 -3
- data/tools/common/common/test/data/noendingnewline.py +0 -36
- data/tools/common/common/test/data/nonregr.py +0 -14
- data/tools/common/common/test/data/normal_file.txt +0 -0
- data/tools/common/common/test/data/reference_dir/NOTHING +0 -0
- data/tools/common/common/test/data/reference_dir/README +0 -1
- data/tools/common/common/test/data/reference_dir/subdir/coin +0 -1
- data/tools/common/common/test/data/reference_dir/subdir/toto.txt +0 -53
- data/tools/common/common/test/data/same_dir/NOTHING +0 -0
- data/tools/common/common/test/data/same_dir/README +0 -1
- data/tools/common/common/test/data/same_dir/subdir/coin +0 -1
- data/tools/common/common/test/data/same_dir/subdir/toto.txt +0 -53
- data/tools/common/common/test/data/spam.txt +0 -9
- data/tools/common/common/test/data/sub/doc.txt +0 -1
- data/tools/common/common/test/data/sub/momo.py +0 -1
- data/tools/common/common/test/data/subdir_differ_dir/NOTHING +0 -0
- data/tools/common/common/test/data/subdir_differ_dir/README +0 -1
- data/tools/common/common/test/data/subdir_differ_dir/subdir/coin +0 -1
- data/tools/common/common/test/data/subdir_differ_dir/subdir/toto.txt +0 -53
- data/tools/common/common/test/data/test.ini +0 -20
- data/tools/common/common/test/data/test1.msg +0 -30
- data/tools/common/common/test/data/test2.msg +0 -42
- data/tools/common/common/test/data/write_protected_file.txt +0 -0
- data/tools/common/common/test/foomod.py +0 -17
- data/tools/common/common/test/unittest_cache.py +0 -129
- data/tools/common/common/test/unittest_changelog.py +0 -37
- data/tools/common/common/test/unittest_compat.py +0 -239
- data/tools/common/common/test/unittest_configuration.py +0 -348
- data/tools/common/common/test/unittest_date.py +0 -154
- data/tools/common/common/test/unittest_decorators.py +0 -62
- data/tools/common/common/test/unittest_deprecation.py +0 -76
- data/tools/common/common/test/unittest_fileutils.py +0 -133
- data/tools/common/common/test/unittest_graph.py +0 -50
- data/tools/common/common/test/unittest_html.py +0 -76
- data/tools/common/common/test/unittest_interface.py +0 -87
- data/tools/common/common/test/unittest_modutils.py +0 -244
- data/tools/common/common/test/unittest_pytest.py +0 -50
- data/tools/common/common/test/unittest_shellutils.py +0 -248
- data/tools/common/common/test/unittest_table.py +0 -448
- data/tools/common/common/test/unittest_taskqueue.py +0 -71
- data/tools/common/common/test/unittest_testlib.py +0 -956
- data/tools/common/common/test/unittest_textutils.py +0 -247
- data/tools/common/common/test/unittest_tree.py +0 -248
- data/tools/common/common/test/unittest_umessage.py +0 -55
- data/tools/common/common/test/unittest_ureports_html.py +0 -64
- data/tools/common/common/test/unittest_ureports_text.py +0 -105
- data/tools/common/common/test/unittest_xmlutils.py +0 -75
- data/tools/common/common/test/utils.py +0 -87
- data/tools/common/common/testlib.py +0 -1927
- data/tools/common/common/textutils.py +0 -476
- data/tools/common/common/tree.py +0 -372
- data/tools/common/common/umessage.py +0 -161
- data/tools/common/common/ureports/__init__.py +0 -174
- data/tools/common/common/ureports/docbook_writer.py +0 -139
- data/tools/common/common/ureports/html_writer.py +0 -131
- data/tools/common/common/ureports/nodes.py +0 -201
- data/tools/common/common/ureports/text_writer.py +0 -140
- data/tools/common/common/vcgutils.py +0 -216
- data/tools/common/common/visitor.py +0 -107
- data/tools/common/common/xmlrpcutils.py +0 -136
- data/tools/common/common/xmlutils.py +0 -61
- data/tools/coverage/coverage.py +0 -602
- data/tools/epydoc/__init__.py +0 -227
- data/tools/epydoc/__init__.pyc +0 -0
- data/tools/epydoc/apidoc.py +0 -2203
- data/tools/epydoc/apidoc.pyc +0 -0
- data/tools/epydoc/checker.py +0 -349
- data/tools/epydoc/checker.pyc +0 -0
- data/tools/epydoc/cli.py +0 -1470
- data/tools/epydoc/cli.pyc +0 -0
- data/tools/epydoc/compat.py +0 -250
- data/tools/epydoc/compat.pyc +0 -0
- data/tools/epydoc/docbuilder.py +0 -1358
- data/tools/epydoc/docbuilder.pyc +0 -0
- data/tools/epydoc/docintrospecter.py +0 -1056
- data/tools/epydoc/docintrospecter.pyc +0 -0
- data/tools/epydoc/docparser.py +0 -2113
- data/tools/epydoc/docparser.pyc +0 -0
- data/tools/epydoc/docstringparser.py +0 -1111
- data/tools/epydoc/docstringparser.pyc +0 -0
- data/tools/epydoc/docwriter/__init__.py +0 -12
- data/tools/epydoc/docwriter/__init__.pyc +0 -0
- data/tools/epydoc/docwriter/dotgraph.py +0 -1351
- data/tools/epydoc/docwriter/dotgraph.pyc +0 -0
- data/tools/epydoc/docwriter/html.py +0 -3491
- data/tools/epydoc/docwriter/html.pyc +0 -0
- data/tools/epydoc/docwriter/html_colorize.py +0 -909
- data/tools/epydoc/docwriter/html_colorize.pyc +0 -0
- data/tools/epydoc/docwriter/html_css.py +0 -550
- data/tools/epydoc/docwriter/html_css.pyc +0 -0
- data/tools/epydoc/docwriter/html_help.py +0 -190
- data/tools/epydoc/docwriter/html_help.pyc +0 -0
- data/tools/epydoc/docwriter/latex.py +0 -1187
- data/tools/epydoc/docwriter/latex.pyc +0 -0
- data/tools/epydoc/docwriter/plaintext.py +0 -276
- data/tools/epydoc/docwriter/plaintext.pyc +0 -0
- data/tools/epydoc/docwriter/xlink.py +0 -505
- data/tools/epydoc/docwriter/xlink.pyc +0 -0
- data/tools/epydoc/gui.py +0 -1148
- data/tools/epydoc/gui.pyc +0 -0
- data/tools/epydoc/log.py +0 -204
- data/tools/epydoc/log.pyc +0 -0
- data/tools/epydoc/markup/__init__.py +0 -623
- data/tools/epydoc/markup/__init__.pyc +0 -0
- data/tools/epydoc/markup/doctest.py +0 -311
- data/tools/epydoc/markup/doctest.pyc +0 -0
- data/tools/epydoc/markup/epytext.py +0 -2116
- data/tools/epydoc/markup/epytext.pyc +0 -0
- data/tools/epydoc/markup/javadoc.py +0 -250
- data/tools/epydoc/markup/javadoc.pyc +0 -0
- data/tools/epydoc/markup/plaintext.py +0 -78
- data/tools/epydoc/markup/plaintext.pyc +0 -0
- data/tools/epydoc/markup/pyval_repr.py +0 -532
- data/tools/epydoc/markup/pyval_repr.pyc +0 -0
- data/tools/epydoc/markup/restructuredtext.py +0 -906
- data/tools/epydoc/markup/restructuredtext.pyc +0 -0
- data/tools/epydoc/test/__init__.py +0 -97
- data/tools/epydoc/test/__init__.pyc +0 -0
- data/tools/epydoc/test/util.py +0 -226
- data/tools/epydoc/test/util.pyc +0 -0
- data/tools/epydoc/util.py +0 -289
- data/tools/epydoc/util.pyc +0 -0
- data/tools/logilab/logilab/__init__.py +0 -5
- data/tools/logilab/logilab/astng/__init__.py +0 -82
- data/tools/logilab/logilab/astng/__pkginfo__.py +0 -76
- data/tools/logilab/logilab/astng/_exceptions.py +0 -64
- data/tools/logilab/logilab/astng/_nodes_ast.py +0 -667
- data/tools/logilab/logilab/astng/_nodes_compiler.py +0 -758
- data/tools/logilab/logilab/astng/bases.py +0 -608
- data/tools/logilab/logilab/astng/builder.py +0 -239
- data/tools/logilab/logilab/astng/inference.py +0 -426
- data/tools/logilab/logilab/astng/inspector.py +0 -289
- data/tools/logilab/logilab/astng/manager.py +0 -421
- data/tools/logilab/logilab/astng/mixins.py +0 -165
- data/tools/logilab/logilab/astng/node_classes.py +0 -848
- data/tools/logilab/logilab/astng/nodes.py +0 -85
- data/tools/logilab/logilab/astng/nodes_as_string.py +0 -389
- data/tools/logilab/logilab/astng/patchcomptransformer.py +0 -159
- data/tools/logilab/logilab/astng/protocols.py +0 -333
- data/tools/logilab/logilab/astng/raw_building.py +0 -212
- data/tools/logilab/logilab/astng/rebuilder.py +0 -307
- data/tools/logilab/logilab/astng/scoped_nodes.py +0 -951
- data/tools/logilab/logilab/astng/test/__init__.py +0 -19
- data/tools/logilab/logilab/astng/test/data/MyPyPa-0.1.0-py2.5.egg +0 -0
- data/tools/logilab/logilab/astng/test/data/MyPyPa-0.1.0-py2.5.zip +0 -0
- data/tools/logilab/logilab/astng/test/data/SSL1/Connection1.py +0 -33
- data/tools/logilab/logilab/astng/test/data/SSL1/__init__.py +0 -20
- data/tools/logilab/logilab/astng/test/data/__init__.py +0 -20
- data/tools/logilab/logilab/astng/test/data/all.py +0 -29
- data/tools/logilab/logilab/astng/test/data/appl/__init__.py +0 -23
- data/tools/logilab/logilab/astng/test/data/appl/myConnection.py +0 -30
- data/tools/logilab/logilab/astng/test/data/format.py +0 -34
- data/tools/logilab/logilab/astng/test/data/module.py +0 -90
- data/tools/logilab/logilab/astng/test/data/module2.py +0 -112
- data/tools/logilab/logilab/astng/test/data/noendingnewline.py +0 -57
- data/tools/logilab/logilab/astng/test/data/nonregr.py +0 -76
- data/tools/logilab/logilab/astng/test/data/notall.py +0 -28
- data/tools/logilab/logilab/astng/test/data2/__init__.py +0 -20
- data/tools/logilab/logilab/astng/test/data2/clientmodule_test.py +0 -51
- data/tools/logilab/logilab/astng/test/data2/suppliermodule_test.py +0 -32
- data/tools/logilab/logilab/astng/test/regrtest.py +0 -135
- data/tools/logilab/logilab/astng/test/regrtest_data/absimport.py +0 -22
- data/tools/logilab/logilab/astng/test/regrtest_data/descriptor_crash.py +0 -31
- data/tools/logilab/logilab/astng/test/regrtest_data/import_package_subpackage_module.py +0 -68
- data/tools/logilab/logilab/astng/test/regrtest_data/package/__init__.py +0 -24
- data/tools/logilab/logilab/astng/test/regrtest_data/package/subpackage/__init__.py +0 -20
- data/tools/logilab/logilab/astng/test/regrtest_data/package/subpackage/module.py +0 -20
- data/tools/logilab/logilab/astng/test/unittest_builder.py +0 -684
- data/tools/logilab/logilab/astng/test/unittest_inference.py +0 -1112
- data/tools/logilab/logilab/astng/test/unittest_inspector.py +0 -105
- data/tools/logilab/logilab/astng/test/unittest_lookup.py +0 -302
- data/tools/logilab/logilab/astng/test/unittest_manager.py +0 -98
- data/tools/logilab/logilab/astng/test/unittest_nodes.py +0 -302
- data/tools/logilab/logilab/astng/test/unittest_scoped_nodes.py +0 -501
- data/tools/logilab/logilab/astng/test/unittest_utils.py +0 -104
- data/tools/logilab/logilab/astng/utils.py +0 -342
- data/tools/logilab/logilab/common/__init__.py +0 -140
- data/tools/logilab/logilab/common/__pkginfo__.py +0 -43
- data/tools/logilab/logilab/common/adbh.py +0 -35
- data/tools/logilab/logilab/common/cache.py +0 -114
- data/tools/logilab/logilab/common/changelog.py +0 -234
- data/tools/logilab/logilab/common/clcommands.py +0 -181
- data/tools/logilab/logilab/common/cli.py +0 -212
- data/tools/logilab/logilab/common/compat.py +0 -328
- data/tools/logilab/logilab/common/configuration.py +0 -1087
- data/tools/logilab/logilab/common/contexts.py +0 -58
- data/tools/logilab/logilab/common/corbautils.py +0 -117
- data/tools/logilab/logilab/common/daemon.py +0 -171
- data/tools/logilab/logilab/common/date.py +0 -279
- data/tools/logilab/logilab/common/db.py +0 -49
- data/tools/logilab/logilab/common/dbf.py +0 -229
- data/tools/logilab/logilab/common/debugger.py +0 -208
- data/tools/logilab/logilab/common/decorators.py +0 -190
- data/tools/logilab/logilab/common/deprecation.py +0 -118
- data/tools/logilab/logilab/common/fileutils.py +0 -409
- data/tools/logilab/logilab/common/graph.py +0 -259
- data/tools/logilab/logilab/common/html.py +0 -142
- data/tools/logilab/logilab/common/interface.py +0 -76
- data/tools/logilab/logilab/common/logging_ext.py +0 -166
- data/tools/logilab/logilab/common/modutils.py +0 -670
- data/tools/logilab/logilab/common/optik_ext.py +0 -383
- data/tools/logilab/logilab/common/optparser.py +0 -92
- data/tools/logilab/logilab/common/pdf_ext.py +0 -111
- data/tools/logilab/logilab/common/proc.py +0 -276
- data/tools/logilab/logilab/common/pyro_ext.py +0 -146
- data/tools/logilab/logilab/common/pytest.py +0 -754
- data/tools/logilab/logilab/common/shellutils.py +0 -383
- data/tools/logilab/logilab/common/sphinx_ext.py +0 -87
- data/tools/logilab/logilab/common/sphinxutils.py +0 -122
- data/tools/logilab/logilab/common/sqlgen.py +0 -31
- data/tools/logilab/logilab/common/table.py +0 -930
- data/tools/logilab/logilab/common/tasksqueue.py +0 -97
- data/tools/logilab/logilab/common/test/__init__.py +0 -1
- data/tools/logilab/logilab/common/test/data/ChangeLog +0 -184
- data/tools/logilab/logilab/common/test/data/MyPyPa-0.1.0-py2.5.egg +0 -0
- data/tools/logilab/logilab/common/test/data/__init__.py +0 -1
- data/tools/logilab/logilab/common/test/data/content_differ_dir/NOTHING +0 -0
- data/tools/logilab/logilab/common/test/data/content_differ_dir/README +0 -1
- data/tools/logilab/logilab/common/test/data/content_differ_dir/subdir/coin +0 -1
- data/tools/logilab/logilab/common/test/data/content_differ_dir/subdir/toto.txt +0 -53
- data/tools/logilab/logilab/common/test/data/file_differ_dir/NOTHING +0 -0
- data/tools/logilab/logilab/common/test/data/file_differ_dir/README +0 -1
- data/tools/logilab/logilab/common/test/data/file_differ_dir/subdir/toto.txt +0 -53
- data/tools/logilab/logilab/common/test/data/file_differ_dir/subdirtwo/Hello +0 -0
- data/tools/logilab/logilab/common/test/data/find_test/__init__.py +0 -0
- data/tools/logilab/logilab/common/test/data/find_test/foo.txt +0 -0
- data/tools/logilab/logilab/common/test/data/find_test/module.py +0 -0
- data/tools/logilab/logilab/common/test/data/find_test/module2.py +0 -0
- data/tools/logilab/logilab/common/test/data/find_test/newlines.txt +0 -0
- data/tools/logilab/logilab/common/test/data/find_test/noendingnewline.py +0 -0
- data/tools/logilab/logilab/common/test/data/find_test/nonregr.py +0 -0
- data/tools/logilab/logilab/common/test/data/find_test/normal_file.txt +0 -0
- data/tools/logilab/logilab/common/test/data/find_test/spam.txt +0 -0
- data/tools/logilab/logilab/common/test/data/find_test/sub/doc.txt +0 -0
- data/tools/logilab/logilab/common/test/data/find_test/sub/momo.py +0 -0
- data/tools/logilab/logilab/common/test/data/find_test/test.ini +0 -0
- data/tools/logilab/logilab/common/test/data/find_test/test1.msg +0 -0
- data/tools/logilab/logilab/common/test/data/find_test/test2.msg +0 -0
- data/tools/logilab/logilab/common/test/data/find_test/write_protected_file.txt +0 -0
- data/tools/logilab/logilab/common/test/data/foo.txt +0 -9
- data/tools/logilab/logilab/common/test/data/module.py +0 -88
- data/tools/logilab/logilab/common/test/data/module2.py +0 -77
- data/tools/logilab/logilab/common/test/data/newlines.txt +0 -3
- data/tools/logilab/logilab/common/test/data/noendingnewline.py +0 -36
- data/tools/logilab/logilab/common/test/data/nonregr.py +0 -14
- data/tools/logilab/logilab/common/test/data/normal_file.txt +0 -0
- data/tools/logilab/logilab/common/test/data/reference_dir/NOTHING +0 -0
- data/tools/logilab/logilab/common/test/data/reference_dir/README +0 -1
- data/tools/logilab/logilab/common/test/data/reference_dir/subdir/coin +0 -1
- data/tools/logilab/logilab/common/test/data/reference_dir/subdir/toto.txt +0 -53
- data/tools/logilab/logilab/common/test/data/same_dir/NOTHING +0 -0
- data/tools/logilab/logilab/common/test/data/same_dir/README +0 -1
- data/tools/logilab/logilab/common/test/data/same_dir/subdir/coin +0 -1
- data/tools/logilab/logilab/common/test/data/same_dir/subdir/toto.txt +0 -53
- data/tools/logilab/logilab/common/test/data/spam.txt +0 -9
- data/tools/logilab/logilab/common/test/data/sub/doc.txt +0 -1
- data/tools/logilab/logilab/common/test/data/sub/momo.py +0 -1
- data/tools/logilab/logilab/common/test/data/subdir_differ_dir/NOTHING +0 -0
- data/tools/logilab/logilab/common/test/data/subdir_differ_dir/README +0 -1
- data/tools/logilab/logilab/common/test/data/subdir_differ_dir/subdir/coin +0 -1
- data/tools/logilab/logilab/common/test/data/subdir_differ_dir/subdir/toto.txt +0 -53
- data/tools/logilab/logilab/common/test/data/test.ini +0 -20
- data/tools/logilab/logilab/common/test/data/test1.msg +0 -30
- data/tools/logilab/logilab/common/test/data/test2.msg +0 -42
- data/tools/logilab/logilab/common/test/data/write_protected_file.txt +0 -0
- data/tools/logilab/logilab/common/test/foomod.py +0 -17
- data/tools/logilab/logilab/common/test/unittest_cache.py +0 -129
- data/tools/logilab/logilab/common/test/unittest_changelog.py +0 -37
- data/tools/logilab/logilab/common/test/unittest_compat.py +0 -239
- data/tools/logilab/logilab/common/test/unittest_configuration.py +0 -348
- data/tools/logilab/logilab/common/test/unittest_date.py +0 -154
- data/tools/logilab/logilab/common/test/unittest_decorators.py +0 -62
- data/tools/logilab/logilab/common/test/unittest_deprecation.py +0 -76
- data/tools/logilab/logilab/common/test/unittest_fileutils.py +0 -133
- data/tools/logilab/logilab/common/test/unittest_graph.py +0 -50
- data/tools/logilab/logilab/common/test/unittest_html.py +0 -76
- data/tools/logilab/logilab/common/test/unittest_interface.py +0 -87
- data/tools/logilab/logilab/common/test/unittest_modutils.py +0 -244
- data/tools/logilab/logilab/common/test/unittest_pytest.py +0 -50
- data/tools/logilab/logilab/common/test/unittest_shellutils.py +0 -248
- data/tools/logilab/logilab/common/test/unittest_table.py +0 -448
- data/tools/logilab/logilab/common/test/unittest_taskqueue.py +0 -71
- data/tools/logilab/logilab/common/test/unittest_testlib.py +0 -956
- data/tools/logilab/logilab/common/test/unittest_textutils.py +0 -247
- data/tools/logilab/logilab/common/test/unittest_tree.py +0 -248
- data/tools/logilab/logilab/common/test/unittest_umessage.py +0 -55
- data/tools/logilab/logilab/common/test/unittest_ureports_html.py +0 -64
- data/tools/logilab/logilab/common/test/unittest_ureports_text.py +0 -105
- data/tools/logilab/logilab/common/test/unittest_xmlutils.py +0 -75
- data/tools/logilab/logilab/common/test/utils.py +0 -87
- data/tools/logilab/logilab/common/testlib.py +0 -1927
- data/tools/logilab/logilab/common/textutils.py +0 -476
- data/tools/logilab/logilab/common/tree.py +0 -372
- data/tools/logilab/logilab/common/umessage.py +0 -161
- data/tools/logilab/logilab/common/ureports/__init__.py +0 -174
- data/tools/logilab/logilab/common/ureports/docbook_writer.py +0 -139
- data/tools/logilab/logilab/common/ureports/html_writer.py +0 -131
- data/tools/logilab/logilab/common/ureports/nodes.py +0 -201
- data/tools/logilab/logilab/common/ureports/text_writer.py +0 -140
- data/tools/logilab/logilab/common/vcgutils.py +0 -216
- data/tools/logilab/logilab/common/visitor.py +0 -107
- data/tools/logilab/logilab/common/xmlrpcutils.py +0 -136
- data/tools/logilab/logilab/common/xmlutils.py +0 -61
- data/tools/pychecker/COPYRIGHT +0 -31
- data/tools/pychecker/ChangeLog +0 -349
- data/tools/pychecker/CodeChecks.py +0 -1969
- data/tools/pychecker/CodeChecks.pyc +0 -0
- data/tools/pychecker/CodeChecks.pyo +0 -0
- data/tools/pychecker/Config.py +0 -475
- data/tools/pychecker/Config.pyc +0 -0
- data/tools/pychecker/Config.pyo +0 -0
- data/tools/pychecker/KNOWN_BUGS +0 -100
- data/tools/pychecker/MAINTAINERS +0 -81
- data/tools/pychecker/NEWS +0 -406
- data/tools/pychecker/OP.py +0 -131
- data/tools/pychecker/OP.pyc +0 -0
- data/tools/pychecker/OP.pyo +0 -0
- data/tools/pychecker/OptionTypes.py +0 -117
- data/tools/pychecker/OptionTypes.pyc +0 -0
- data/tools/pychecker/OptionTypes.pyo +0 -0
- data/tools/pychecker/README +0 -152
- data/tools/pychecker/Stack.py +0 -115
- data/tools/pychecker/Stack.pyc +0 -0
- data/tools/pychecker/Stack.pyo +0 -0
- data/tools/pychecker/TODO +0 -101
- data/tools/pychecker/VERSION +0 -1
- data/tools/pychecker/Warning.py +0 -50
- data/tools/pychecker/Warning.pyc +0 -0
- data/tools/pychecker/Warning.pyo +0 -0
- data/tools/pychecker/__init__.py +0 -17
- data/tools/pychecker/__init__.pyc +0 -0
- data/tools/pychecker/__init__.pyo +0 -0
- data/tools/pychecker/checker.py +0 -961
- data/tools/pychecker/checker.pyc +0 -0
- data/tools/pychecker/checker.pyo +0 -0
- data/tools/pychecker/function.py +0 -159
- data/tools/pychecker/function.pyc +0 -0
- data/tools/pychecker/function.pyo +0 -0
- data/tools/pychecker/msgs.py +0 -175
- data/tools/pychecker/msgs.pyc +0 -0
- data/tools/pychecker/msgs.pyo +0 -0
- data/tools/pychecker/options.py +0 -275
- data/tools/pychecker/options.pyc +0 -0
- data/tools/pychecker/options.pyo +0 -0
- data/tools/pychecker/pcmodules.py +0 -19
- data/tools/pychecker/pcmodules.pyc +0 -0
- data/tools/pychecker/pcmodules.pyo +0 -0
- data/tools/pychecker/printer.py +0 -47
- data/tools/pychecker/printer.pyc +0 -0
- data/tools/pychecker/printer.pyo +0 -0
- data/tools/pychecker/python.py +0 -427
- data/tools/pychecker/python.pyc +0 -0
- data/tools/pychecker/python.pyo +0 -0
- data/tools/pychecker/utils.py +0 -102
- data/tools/pychecker/utils.pyc +0 -0
- data/tools/pychecker/utils.pyo +0 -0
- data/tools/pychecker/warn.py +0 -778
- data/tools/pychecker/warn.pyc +0 -0
- data/tools/pychecker/warn.pyo +0 -0
- data/tools/pylint2/pylint/__init__.py +0 -16
- data/tools/pylint2/pylint/__pkginfo__.py +0 -67
- data/tools/pylint2/pylint/checkers/__init__.py +0 -155
- data/tools/pylint2/pylint/checkers/base.py +0 -749
- data/tools/pylint2/pylint/checkers/classes.py +0 -527
- data/tools/pylint2/pylint/checkers/design_analysis.py +0 -344
- data/tools/pylint2/pylint/checkers/exceptions.py +0 -183
- data/tools/pylint2/pylint/checkers/format.py +0 -367
- data/tools/pylint2/pylint/checkers/imports.py +0 -379
- data/tools/pylint2/pylint/checkers/logging.py +0 -98
- data/tools/pylint2/pylint/checkers/misc.py +0 -128
- data/tools/pylint2/pylint/checkers/newstyle.py +0 -107
- data/tools/pylint2/pylint/checkers/raw_metrics.py +0 -125
- data/tools/pylint2/pylint/checkers/similar.py +0 -333
- data/tools/pylint2/pylint/checkers/string_format.py +0 -239
- data/tools/pylint2/pylint/checkers/typecheck.py +0 -364
- data/tools/pylint2/pylint/checkers/utils.py +0 -208
- data/tools/pylint2/pylint/checkers/variables.py +0 -498
- data/tools/pylint2/pylint/config.py +0 -149
- data/tools/pylint2/pylint/epylint.py +0 -149
- data/tools/pylint2/pylint/gui.py +0 -433
- data/tools/pylint2/pylint/interfaces.py +0 -98
- data/tools/pylint2/pylint/lint.py +0 -914
- data/tools/pylint2/pylint/pyreverse/__init__.py +0 -5
- data/tools/pylint2/pylint/pyreverse/diadefslib.py +0 -229
- data/tools/pylint2/pylint/pyreverse/diagrams.py +0 -247
- data/tools/pylint2/pylint/pyreverse/main.py +0 -123
- data/tools/pylint2/pylint/pyreverse/utils.py +0 -131
- data/tools/pylint2/pylint/pyreverse/writer.py +0 -196
- data/tools/pylint2/pylint/reporters/__init__.py +0 -67
- data/tools/pylint2/pylint/reporters/guireporter.py +0 -36
- data/tools/pylint2/pylint/reporters/html.py +0 -69
- data/tools/pylint2/pylint/reporters/text.py +0 -156
- data/tools/pylint2/pylint/utils.py +0 -518
- data/tools/pylint2/pylint.py +0 -16
data/tools/pychecker/NEWS
DELETED
@@ -1,406 +0,0 @@
|
|
1
|
-
Version 0.8.18 - XXX
|
2
|
-
* Fixed SF Bug [ 1827412 ] pychecker.bat only handles 9 cmdline args
|
3
|
-
* Fix warning about comparison checking with bool false alert for 'in' and 'not in'
|
4
|
-
* Add warning for using __set__, __get__, and __delete__ in an old-style class
|
5
|
-
* Fix spurious warning about __set__, __get__, and __delete__ not being special
|
6
|
-
methods.
|
7
|
-
* Fix inability to disable Warning about constant setattr()/getattr()
|
8
|
-
* Fix spurious warning on min/max not accepting kwarg of key in Python 2.5
|
9
|
-
* Add some __special__ pickling methods that were missing
|
10
|
-
* Add --missingattrs option to ignore some (but not all) attribute names
|
11
|
-
* Fix crash when using keyword arguments with builtin methods
|
12
|
-
* Add --keepgoing option to ignore import errors
|
13
|
-
* Add --findevil option to make it easier to find objects that crash the interpreter
|
14
|
-
* Add support for Python 2.5
|
15
|
-
|
16
|
-
Version 0.8.17 - 3 February 2006
|
17
|
-
* Fix spurious warning for Statement with no effect using bit shifts
|
18
|
-
* Add -#/--limit command line option to set the max # of warnings to show
|
19
|
-
* Remove broken command line options: -e/--errors, --complexity
|
20
|
-
* Add -e/--level command line options which allows the error level
|
21
|
-
to be specified: error, security, warning, unused, deprecated, style.
|
22
|
-
These names map to numbers: 90, 90, 70, 50, 40, 10 (error == security).
|
23
|
-
Specifying a value means all levels equal to or greater than it.
|
24
|
-
* Add --only option which displays warnings only for files specified
|
25
|
-
on the command line
|
26
|
-
* Add --evil option for users to prevent the interpreter from crashing
|
27
|
-
due to broken C extensions
|
28
|
-
* Fix wrong file name when warning about returning values from
|
29
|
-
__init__ functions. (#1291116)
|
30
|
-
* Fix a few more glitches with setup.py.
|
31
|
-
* Suppress warning about integer division when the code is: int(x / y)
|
32
|
-
* Add code to skip testing objects from extension modules that are
|
33
|
-
known to crash the interpreter. Currently, the list includes old versions of
|
34
|
-
matplotlib.axes.BinOpType and wx.TheClipboard.
|
35
|
-
* Support ROT_THREE and ROT_FOUR opcodes
|
36
|
-
|
37
|
-
Version 0.8.16 - 4 September 2005
|
38
|
-
* Fix problems installing on Windows and running setup.py build
|
39
|
-
|
40
|
-
Version 0.8.15 - 31 August 2005
|
41
|
-
* Fix spurious warning about catching string exceptions
|
42
|
-
* Don't barf if there is # -*- encoding: ... -*- lines and unicode strings
|
43
|
-
* setup.py was rewritten to honor --root, --home, etc options
|
44
|
-
* Fix internal error on processing nested scopes
|
45
|
-
* Fix constant tuples in Python 2.4
|
46
|
-
* Don't warn about implicit/explicit returns in Python 2.4, we can't tell
|
47
|
-
* Fix crash when __slots__ was an instance w/o __len__
|
48
|
-
* Fix bug that declared {}.pop to only take one argument, it takes 1 or 2
|
49
|
-
* Fix spurious warning when using tuples for exceptions
|
50
|
-
* Fix spurious warning <stack> / <stack>
|
51
|
-
* Fix spurious warnings for sets module about __cmp__, __hash__
|
52
|
-
* Changed abstract check to require raising NotImplementedError
|
53
|
-
rather than raising any error
|
54
|
-
* Fix spurious warnings in Python 2.4 for Using is (not) None warnings
|
55
|
-
* Fix spurious warnings for some instances of No class attribute found
|
56
|
-
* Fix spurious warnings for implicit returns when using nested functions
|
57
|
-
|
58
|
-
Version 0.8.14 - 6 June 2004
|
59
|
-
* Fix spurious warning in Python 2.3+ when doing a,b = 1,2
|
60
|
-
* Add warning to check for "if s.find(str):"
|
61
|
-
this should be "if s.find(str) >= 0:" when s is a string
|
62
|
-
* Fix spurious warning when using augmented assignment (e.g., x += x)
|
63
|
-
* Fix spurious warning when doing x = not x
|
64
|
-
* Fix spurious warning for invalid arg count when calling a staticmethod
|
65
|
-
* Fix spurious warning for setting a variable to itself when: x, y, z = x
|
66
|
-
* Fix spurious warning when doing some binary operations: self.a ^ self.b
|
67
|
-
* Fix crash in STORE_ATTR with some list comprehensions in Python 2.2
|
68
|
-
e.g., a.a = [x for x in range(2) if x > 1]
|
69
|
-
* Support Tk 8.4 and above in the GUI (change col= to column=)
|
70
|
-
|
71
|
-
Version 0.8.13 - 18 November 2003
|
72
|
-
* Add -s/--shadowbuiltin option to warn when overriding a builtin
|
73
|
-
* Add warning when assigning a variable to itself
|
74
|
-
* Add warning when dividing a variable by itself
|
75
|
-
* Add warnings when using a bit-wise operator with the same variable (a & a)
|
76
|
-
* Add warning when passing a constant string to getattr()/setattr()
|
77
|
-
* Add --special option to check for __special__ (reserved) method names
|
78
|
-
and that their signature (argument count) is correct
|
79
|
-
* Add warning for using __getattribute__ in an old-style class
|
80
|
-
* Suppress 'self as first argument' warning for static and class methods
|
81
|
-
* Add --classmethodargs option to specify first argument name
|
82
|
-
for class methods
|
83
|
-
|
84
|
-
Version 0.8.12 - 23 December 2002
|
85
|
-
* Add --isliteral option to warn when using is/is not against literal
|
86
|
-
(e.g., XXX is 5 YYY is not 'abcdef', etc)
|
87
|
-
* Add --modulo1 option to warn when using (expr % 1),
|
88
|
-
which is constant when expr is an integer or string
|
89
|
-
* Add -4/--noeffect option to disable warnings for 'Statement has no effect'
|
90
|
-
* self is not first argument warning can be disabled with -S/--self ''
|
91
|
-
* Don't print duplicate warnings when importing pychecker
|
92
|
-
* Fix other spurious warnings when importing pychecker
|
93
|
-
* Fix bug for spurious invalid arguments when passing a dict inline
|
94
|
-
* Fix bug for spurious Statement has no effect when print >> x, ... ,
|
95
|
-
* Add @option_file command line argument to read options from a file
|
96
|
-
(used on platforms which can't have too many options, ie Windows)
|
97
|
-
* Fix several crashes
|
98
|
-
* Line numbers should be close for Python 2.3 and if run on optimized code
|
99
|
-
|
100
|
-
Version 0.8.11 - 06 June 2002
|
101
|
-
* Improve error message for syntax errors from user files
|
102
|
-
* Fix pychecker.bat so it should work now
|
103
|
-
* Add a warning for using __coerce__ in new-style classes
|
104
|
-
* Add --deprecated option for using deprecated modules or functions
|
105
|
-
* Add a warning for using functions with security problems (os.t[e]mpnam)
|
106
|
-
* Add a warning for comparing against True/False or defining True/False
|
107
|
-
* Add --badexcept option to warn when using string exceptions or
|
108
|
-
classes not derived from Exception to raise/catch exceptions
|
109
|
-
* Fix spurious warnings from using (test and 'true' or 'false)
|
110
|
-
|
111
|
-
Version 0.8.10 - 20 March 2002
|
112
|
-
* Add --unpack option to warn when unpacking a non-sequence
|
113
|
-
* Add --unpacklen option to warn when unpacking sequence of wrong size
|
114
|
-
* Add --changetypes option to warn when setting a variable to different types
|
115
|
-
* Add --stringiter option to warn when iterating over a string
|
116
|
-
* Add --input option to warn when using input()
|
117
|
-
* Fix crash with checking properties or deriving from objects (2.2 only)
|
118
|
-
* Fix crash with nested scopes and lambdas
|
119
|
-
* Fix spurious warnings for constant conditionals when using ('%s' % value)
|
120
|
-
* Fix spurious warnings for unused identifiers caused by from XXX import *
|
121
|
-
* Add more information when module cannot be imported
|
122
|
-
* Fix spurious warnings for implicit returns when using while 1:
|
123
|
-
* Fix spurious warnings for implicit returns when using try/finally:
|
124
|
-
* Fix spurious warning with globals that start w/__
|
125
|
-
* Fix spurious warnings for modifying default arguments
|
126
|
-
when calling {}.get(), {}.has_key(), [].index(), [].count(), etc.
|
127
|
-
* Fix spurious warnings in Python 1.5.2 when using from/import
|
128
|
-
|
129
|
-
Version 0.8.9 - 02 February 2002
|
130
|
-
* Add -3/--properties warning when using properties with classic classes
|
131
|
-
* Add more warnings for statements with no effect
|
132
|
-
* Fix crash due to import module problems
|
133
|
-
* Fix crash with nested scopes
|
134
|
-
* Fix spurious warnings about module attributes and importing
|
135
|
-
* Fix spurious warnings in Python 2.2 when using builtin classes (eg, socket)
|
136
|
-
* Fix spurious warning for format string problem when using % at module scope
|
137
|
-
* Fix spurious warning for implicit returns when doing while 1:
|
138
|
-
* Fix spurious warning for inconsistent return types
|
139
|
-
when objects are subclasses
|
140
|
-
* Don't warn about inconsistent return types from __getattr[ibute]__
|
141
|
-
* Always assume readline module is used if input/raw_input is used
|
142
|
-
|
143
|
-
Version 0.8.8 - 13 January 2002
|
144
|
-
* Add -F/--config option to specify pycheckrc file to use
|
145
|
-
Always read $HOME/.pycheckrc, .pycheckrc, and -F options in that order
|
146
|
-
* Add -0/--abstract option to warn that subclass should override
|
147
|
-
a base class whose method(s) only raise exceptions
|
148
|
-
* Add -6/--exec option to warn when using the exec statement
|
149
|
-
* Add -7/--slots option to warn about __slots__ usage problems
|
150
|
-
* Add --emptyslots option to warn about empty __slots__
|
151
|
-
* Add check if __getattr[ibute]__ returns None, should raise an exception
|
152
|
-
* Allow pychecker to be imported (in your code do: import pychecker.check)
|
153
|
-
* Using vars() for format string argument works like locals()
|
154
|
-
* Make unusedNames a prefix, so emptyVal, unusedVal, etc are also ignored
|
155
|
-
* Fix -a/--initattr warning to actually warn when attributes
|
156
|
-
are set outside of __init__(), but not in __init__()
|
157
|
-
* Fix case where an implicit return did not generate a warning
|
158
|
-
* Fix spurious warnings when using nested scopes, code should be checked now
|
159
|
-
* Fix spurious warnings for unreachable code (not enough to enable, yet)
|
160
|
-
* Fix spurious warnings for integer division from: (x + 100.0) / 10
|
161
|
-
* Fix spurious warnings for implicit returns when raise in except: clause
|
162
|
-
* Fix various spurious warnings when using Python 2.2
|
163
|
-
* Fix spurious warning for overridden method mismatch when using exec
|
164
|
-
* Fix spurious warning when doing len(filter(lambda x: ..., ...))
|
165
|
-
* Fix spurious warnings from some from ... import ... and deriving classes
|
166
|
-
|
167
|
-
Version 0.8.7 - 05 January 2002
|
168
|
-
* Add -2/--constcond option to warn if using a constant
|
169
|
-
in a conditional statement (if '': ; while 'str': ; etc)
|
170
|
-
* Add -1/--constant1 option to warn when using if 1: or while 1: etc.
|
171
|
-
* Add -8/--unreachable option to warn about unreachable code
|
172
|
-
* Add -9/--members option to warn about unused data members
|
173
|
-
* Add -w/--shadow for local variable shadowing global variable
|
174
|
-
* Add warning statements with no effect (load var, but do nothing)
|
175
|
-
* Handle string multiplication (helps format strings)
|
176
|
-
code like this doesn't generate a warning now: '%d ' * 3 % (1, 2, 3)
|
177
|
-
* Fix -C/--implicitreturns option so it works, turn it on by default
|
178
|
-
* Fix spurious warning when accessing 'static' class members that are methods
|
179
|
-
(e.g. class C(B): __super_init = B.__init__) (still a problem w/2.2)
|
180
|
-
* Fix some strange spurious warnings and exceptions
|
181
|
-
* Handle nested scopes better, includes fixing a crash and
|
182
|
-
eliminating some spurious warnings
|
183
|
-
|
184
|
-
Version 0.8.6 - 16 November 2001
|
185
|
-
* Add -5/--maxrefs for maximum # of identifier references (Law of Demeter)
|
186
|
-
* Fix problem where user defined classes weren't checked for valid attributes
|
187
|
-
* Allow use of __pychecker__ in class scope
|
188
|
-
* Fix a lot of global function arg counts for Python 2.2
|
189
|
-
(many constructors can take no arguments now)
|
190
|
-
* Fix spurious warning (Function return types are inconsistent)
|
191
|
-
when multiple returns w/a constant & a local variable of same type
|
192
|
-
* Fix spurious warning for format strings when using a dict local variable
|
193
|
-
* Rename pychecker.sh script to pychecker on Unix
|
194
|
-
|
195
|
-
Version 0.8.5 - 17 October 2001
|
196
|
-
* Add check for using builtin function/method const (None) return value
|
197
|
-
(e.g., not_a_new_list = [].sort())
|
198
|
-
* Add check for builtin object method calls for right # args
|
199
|
-
(e.g., [].count(), {}.keys(), file.seek(0))
|
200
|
-
* Add check for object method calls for right # args
|
201
|
-
(calling object when type is known, ie instatiated locally)
|
202
|
-
* Add check for modifying a parameter that has a default value
|
203
|
-
(e.g., def func(mutable = []): mutable.append(0))
|
204
|
-
* Add check for using future keywords (e.g., yield)
|
205
|
-
* Add check for using unary positive on variables (e.g., +x)
|
206
|
-
* Add check for recursive calls to __repr__ implementations (`self`)
|
207
|
-
* Add -X/--reimport option to turn off various module reimport warnings
|
208
|
-
* Add -V/--version option for printing PyChecker version
|
209
|
-
* Fix some spurious warnings for inconsistent return value types
|
210
|
-
* Fix spurious warning from calling functions like: zip(*args)
|
211
|
-
* Fix -F/--rcfile option so it really works
|
212
|
-
|
213
|
-
Version 0.8.4 - 24 September 2001
|
214
|
-
* Allow warning suppressions to be specified as regular expressions
|
215
|
-
* Add -z/--no-varargsused to ignore *args for functions w/variable args
|
216
|
-
* Add warning checks when deleting variables
|
217
|
-
* Add check for except Error1, Error2 : # should be except (Error1, Error2) :
|
218
|
-
* Fix spurious warning when using parameter as dict for format string
|
219
|
-
* Fix spurious warning when using lambda in __init__
|
220
|
-
* Add check that pychecker/checker.py is same version as other files
|
221
|
-
* Get setup.py to work on windows, etc. if don't have /tmp
|
222
|
-
|
223
|
-
Version 0.8.3 - 12 August 2001
|
224
|
-
* Fix internal errors when doing % on non-strings and other format problems
|
225
|
-
* Fix spurious warning when using a constant {} with a format mapping
|
226
|
-
|
227
|
-
Version 0.8.2 - 12 August 2001
|
228
|
-
* Check format strings even if using global & local constants
|
229
|
-
* Add check that [].append() only takes one argument
|
230
|
-
* Add check that # parameters are correct for builtin functions
|
231
|
-
* Add warnings for --, ++, ~~:
|
232
|
-
"Operator (%s) doesn't exist, statement has no effect"
|
233
|
-
* Add -Q/--quiet to be real quiet, only output warning msgs, nothing else
|
234
|
-
* Add -y/--classattr config option (warning was not configurable before)
|
235
|
-
(warn if class attribute doesn't exist)
|
236
|
-
* Add -x/--miximport config option (warning was not configurable before)
|
237
|
-
(warn if mixing: import/from ... import)
|
238
|
-
* Add -u/--callinit config option (warning was not configurable before)
|
239
|
-
(warn if Subclass.__init__() not called)
|
240
|
-
* Add constants together on stack when get + to avoid some spurious warnings
|
241
|
-
* Fix method and attribute checks for None and Ellipsis
|
242
|
-
* Fix spurious warnings when doing a local import and use module in lambda
|
243
|
-
* Fix spurious warnings when object attribute has same name as class
|
244
|
-
* Fix Object (x) has no attribute warnings for Python 2.2a1 built-in types
|
245
|
-
* Change default behaviour to not warn about missing doc strings
|
246
|
-
|
247
|
-
Version 0.8.1 - 9 August 2001
|
248
|
-
* Fix internal error when referencing a list constant: [1,2,3][1]
|
249
|
-
* Fix internal error for Python 1.5 not catching unicode syntax error
|
250
|
-
* Fix deprecation warning for Python 2.2a1 with xrange
|
251
|
-
* Fix spurious warning (No module attribute) when doing import x.y as y
|
252
|
-
* Fix spurious warning (Base __init__() not called) when using *args or **kw
|
253
|
-
* Fix 'No module attribute' warning when doing: import foo.bar as bar
|
254
|
-
* Spell overridden write
|
255
|
-
|
256
|
-
Version 0.8 - 6 August 2001
|
257
|
-
* Add check for accessing list as list[1,2], should be slice 1:2
|
258
|
-
* Add -J/maxargs to warn when using too many arguments
|
259
|
-
* Add -K/maxlocals to warn when using too many local variables
|
260
|
-
* Add -D/intdivide to warn when using integer division
|
261
|
-
* Add -O/objattrs to warn when using object.attribute that doesn't exist
|
262
|
-
* Add -M/reimportself to warn when a module imports itself
|
263
|
-
* Add -E/unusednames to provide a list of unused names to ignore
|
264
|
-
(default is: [ '_', 'empty', 'unused' ])
|
265
|
-
* Major refactoring of warn.py -> utils, msgs, Warning, CodeChecks
|
266
|
-
* Fix spurious warnings for No class attribute for dynamic classes
|
267
|
-
* Fix spurious warnings when using objects from blacklisted modules
|
268
|
-
(Instantiating object with arguments, but no constructor, etc)
|
269
|
-
* Fix spurious warnings when using lambdas
|
270
|
-
* Fix spurious warning (No global Y) when using: from X import Y
|
271
|
-
(problem in python 1.5/1.6 only)
|
272
|
-
|
273
|
-
Version 0.7.5 - 22 July 2001
|
274
|
-
* Suppress warnings on a per module/function/class/method basis
|
275
|
-
with new suppressions = {} in .pycheckrc
|
276
|
-
* Suppress warnings by setting __pychecker__ in source code
|
277
|
-
* Change long argument behaviour --arg sets arg to true,
|
278
|
-
--no-arg sets arg to false (also works for warning suppression)
|
279
|
-
* Add -U/--reuseattr check if function/class/method names are reused
|
280
|
-
* Add -T/--argsused check for unused method/function arguments
|
281
|
-
* Add -G/--selfused ignore if self is unused in a method
|
282
|
-
(requires --argsused)
|
283
|
-
* Add -q/--stdlib to disable warnings from the standard library
|
284
|
-
* Add -o/--override warning when a method has different signature
|
285
|
-
than one being overridden in a base class
|
286
|
-
* Add -F/--rcfile to generate a .pycheckrc file
|
287
|
-
* Fix checking files in standard library before local file
|
288
|
-
* Fix spurious warning when using from X import Y and imports in methods
|
289
|
-
(Module (m) re-imported)
|
290
|
-
* Fix spurious warning when doing: from X import Y, Z
|
291
|
-
* Fix spurious warning when deriving from Exception() and
|
292
|
-
instantiating object with multiple arguments
|
293
|
-
* Fix method argument checks when calling base class methods
|
294
|
-
* Fix error msg to base constructors (msg count was wrong)
|
295
|
-
* Fix access to builtin module attributes (e.g., sys.exc_value)
|
296
|
-
generating 'No attribute warnings'
|
297
|
-
* Fix tests (forgot to add : after line number in expected results)
|
298
|
-
|
299
|
-
Version 0.7 - 16 July 2001
|
300
|
-
* Improve import warning messages, add from checks
|
301
|
-
* checker.py -h prints defaults after processing .pycheckrc file
|
302
|
-
* Add config option -k/--pkgimport to disable unused imports from __init__.py
|
303
|
-
* Add warning for variable used before being set
|
304
|
-
* Improve format string checks/warnings
|
305
|
-
* Check arguments to constructors
|
306
|
-
* Check that self is first arg to base constructor
|
307
|
-
* Add -e/--errors option to only warn about likely errors
|
308
|
-
* Make 'self' configurable as the first argument to methods
|
309
|
-
* Add check that there is a c'tor when instantiating an object and
|
310
|
-
passing arguments
|
311
|
-
* Add config option (-N/--initreturn) to turn off warnings
|
312
|
-
when returning None from __init__()
|
313
|
-
* Fix internal error with python 2.1 which defines a new op: LOAD_DEREF
|
314
|
-
* Check in lambda functions for module/variable use
|
315
|
-
* Fix inability to evaluate { 1: 'a' } inline,
|
316
|
-
led to incorrect __init__() not called warnings
|
317
|
-
* Fix exception when class overrides __special__() methods & raise exception
|
318
|
-
* Fix check in format strings when using '%*g %*.*g', etc
|
319
|
-
* Add check for static class attributes
|
320
|
-
* Fix checking of module attributes
|
321
|
-
* Fix wrong filename in 'Base class (xxx) __init__() not called'
|
322
|
-
when doing a from X import *
|
323
|
-
* Fix 'No attribute found' for very dynamic classes
|
324
|
-
(may also work for classes that use __getattr__)
|
325
|
-
|
326
|
-
Version 0.6.1 - 27 June 2001
|
327
|
-
* Fix bug which caused an exception from some import code
|
328
|
-
* Fix bug in determining if there is an implicit return
|
329
|
-
|
330
|
-
Version 0.6 - 25 June 2001
|
331
|
-
* Check format strings: "%s %s %s" % (v1, v2, v3, v4) for arg counts
|
332
|
-
* Warn when format strings do: '%(var) %(var2)'
|
333
|
-
* Fix Local variable (xxx) not used, when have: "%(xxx)s" % locals()
|
334
|
-
* Warn when local variable (xxx) doesn't exist and have: "%(xxx)s" % locals()
|
335
|
-
* Install script in /usr/local/bin to invoke PyChecker
|
336
|
-
* Don't produce unused global warnings when using a module in parameters
|
337
|
-
* Don't produce unused global warnings when using a module in class variables
|
338
|
-
* Add check when using method as an attribute (if self.method and x == y:)
|
339
|
-
* Add check for right # of args to object construction
|
340
|
-
* Add check for right # of args to function calls in other modules
|
341
|
-
* Check for returning a value from __init__
|
342
|
-
* Fix using from XX import YY ; from XX import ZZ causing re-import warning
|
343
|
-
* Fix UNABLE TO IMPORT errors for files that don't end with a newline
|
344
|
-
* Support for checking consistent return values -- not complete
|
345
|
-
produces too many false positives
|
346
|
-
|
347
|
-
Version 0.5 - 29 May 2001
|
348
|
-
* Catch internal errors "gracefully" and turn into a warning
|
349
|
-
* Add checking of most module scoped code
|
350
|
-
* Add pychecker subdir to imports to prevent filename conflicts
|
351
|
-
* Don't produce unused local variable warning if variable name == '_'
|
352
|
-
* Add -g/--allglobals option to report all global warnings, not just first
|
353
|
-
* Add -V/--varlist option to selectively ignore variable not used warnings
|
354
|
-
* Add test script and expected results
|
355
|
-
* Print all instructions when using debug (-d/--debug)
|
356
|
-
* Overhaul internal stack handling so we can look for more problems
|
357
|
-
* Fix glob'ing problems (all args after glob were ignored)
|
358
|
-
* Fix spurious Base class __init__ not called
|
359
|
-
* Fix exception on code like: ['xxx'].index('xxx')
|
360
|
-
* Fix exception on code like: func(kw=(a < b))
|
361
|
-
* Fix line numbers for import statements
|
362
|
-
|
363
|
-
Version 0.4 - 23 April 2001
|
364
|
-
* Add .pycheckrc file processing to specify options (like on command line)
|
365
|
-
* Add new warning if module.Attribute doesn't exist
|
366
|
-
* Add new warning: Module (%s) re-imported locally
|
367
|
-
* Add glob'ing support for windows
|
368
|
-
* Handle apply(BaseClass.__init__(self, args))
|
369
|
-
* Fix command line handling so you can pass module, package, or filename
|
370
|
-
* Fix **kwArgs warning if named parameter is not first
|
371
|
-
* Don't exit from checker when import checker from interpreter
|
372
|
-
|
373
|
-
Version 0.3 - 17 April 2001
|
374
|
-
* Fix some checker crashes (oops)
|
375
|
-
* Add warnings for code complexity (lines/branches/returns per function)
|
376
|
-
* Add more configuration options
|
377
|
-
* Don't produce spurious warning for: x(y, { 'a': 'b' })
|
378
|
-
* Fix warnings that indicate they are from a base class file,
|
379
|
-
rather than real file
|
380
|
-
* Fix warnings for **kwArgs not allowed, but using named args
|
381
|
-
* Add configuration option for warning when using attribute as a function
|
382
|
-
(off by default, old behaviour was on)
|
383
|
-
|
384
|
-
Version 0.2.5 - 12 April 2001
|
385
|
-
* Add back support for Python 1.5.2 (again)
|
386
|
-
(I sure like 2.0 more with the [ for ] and string methods.)
|
387
|
-
* Add new warning for unused local variables
|
388
|
-
* Add command line switches
|
389
|
-
|
390
|
-
Version 0.2 - 10 April 2001
|
391
|
-
* Move tests into a sub-directory so import test doesn't import
|
392
|
-
pychecker/test
|
393
|
-
* Add more test files
|
394
|
-
* Add '.' to the python path so it doesn't need to be done in env't
|
395
|
-
* Print a warning at the end for each file that couldn't be import'ed
|
396
|
-
* Improve stack handling to improve error handling
|
397
|
-
* Try to get base class __init__ checking to work for both:
|
398
|
-
import X.Y
|
399
|
-
from X import Y
|
400
|
-
|
401
|
-
Version 0.1.1 - 8 April 2001
|
402
|
-
* Add support for Python 1.5.2
|
403
|
-
|
404
|
-
Version 0.1 - 7 April 2001
|
405
|
-
* Initial release
|
406
|
-
|
data/tools/pychecker/OP.py
DELETED
@@ -1,131 +0,0 @@
|
|
1
|
-
#!/usr/bin/env python
|
2
|
-
|
3
|
-
# Copyright (c) 2001-2004, MetaSlash Inc. All rights reserved.
|
4
|
-
# Portions Copyright (c) 2005, Google, Inc. All rights reserved.
|
5
|
-
|
6
|
-
"""
|
7
|
-
Python byte code operations.
|
8
|
-
|
9
|
-
Very similar to the dis module, but dis does not exist in Jython,
|
10
|
-
so recreate the small portion we need here.
|
11
|
-
"""
|
12
|
-
|
13
|
-
def LINE_NUM(op): return op == 127
|
14
|
-
def LOAD_GLOBAL(op): return op == 116
|
15
|
-
def LOAD_CONST(op): return op == 100
|
16
|
-
def LOAD_FAST(op): return op == 124
|
17
|
-
def LOAD_ATTR(op): return op == 105
|
18
|
-
def LOAD_DEREF(op): return op == 136
|
19
|
-
def STORE_ATTR(op): return op == 95
|
20
|
-
def POP_TOP(op): return op == 1
|
21
|
-
def IMPORT_FROM(op): return op == 108
|
22
|
-
def IMPORT_STAR(op): return op == 84
|
23
|
-
def UNARY_POSITIVE(op): return op == 10
|
24
|
-
def UNARY_NEGATIVE(op): return op == 11
|
25
|
-
def UNARY_INVERT(op): return op == 15
|
26
|
-
def RETURN_VALUE(op): return op == 83
|
27
|
-
def JUMP_FORWARD(op): return op == 110
|
28
|
-
def JUMP_ABSOLUTE(op): return op == 113
|
29
|
-
def FOR_ITER(op): return op == 93
|
30
|
-
def FOR_LOOP(op): return op == 114
|
31
|
-
def SETUP_LOOP(op): return op == 120
|
32
|
-
def BREAK_LOOP(op): return op == 80
|
33
|
-
def RAISE_VARARGS(op): return op == 130
|
34
|
-
def POP_BLOCK(op): return op == 87
|
35
|
-
def END_FINALLY(op): return op == 88
|
36
|
-
def CALL_FUNCTION(op): return op == 131
|
37
|
-
|
38
|
-
def UNPACK_SEQUENCE(op) :
|
39
|
-
"Deal w/Python 1.5.2 (UNPACK_[LIST|TUPLE]) or 2.0 (UNPACK_SEQUENCE)"
|
40
|
-
return op in (92, 93,)
|
41
|
-
|
42
|
-
def IS_CONDITIONAL_JUMP(op):
|
43
|
-
return op in (111, 112)
|
44
|
-
|
45
|
-
def IS_NOT(op):
|
46
|
-
return op == 12
|
47
|
-
|
48
|
-
HAVE_ARGUMENT = 90
|
49
|
-
EXTENDED_ARG = 143
|
50
|
-
|
51
|
-
_HAS_NAME = (90, 91, 95, 96, 97, 98, 101, 105, 107, 108, 116,)
|
52
|
-
_HAS_LOCAL = (124, 125, 126,)
|
53
|
-
_HAS_CONST = (100,)
|
54
|
-
_HAS_COMPARE = (106,)
|
55
|
-
_HAS_JREL = (110, 111, 112, 114, 120, 121, 122,)
|
56
|
-
_HAS_JABS = (113, 119,)
|
57
|
-
|
58
|
-
_CMP_OP = ('<', '<=', '==', '!=', '>', '>=', 'in', 'not in', 'is',
|
59
|
-
'is not', 'exception match', 'BAD')
|
60
|
-
|
61
|
-
EXCEPT_COMPARISON = 10
|
62
|
-
IS_COMPARISON = 8
|
63
|
-
IN_COMPARISON = 6
|
64
|
-
NOT_IN_COMPARISON = 7
|
65
|
-
|
66
|
-
def getOperand(op, func_code, oparg) :
|
67
|
-
if op in _HAS_NAME :
|
68
|
-
return func_code.co_names[oparg]
|
69
|
-
elif op in _HAS_LOCAL :
|
70
|
-
return func_code.co_varnames[oparg]
|
71
|
-
elif op in _HAS_CONST :
|
72
|
-
return func_code.co_consts[oparg]
|
73
|
-
elif op in _HAS_COMPARE :
|
74
|
-
return _CMP_OP[oparg]
|
75
|
-
return None
|
76
|
-
|
77
|
-
def getLabel(op, oparg, i) :
|
78
|
-
if op in _HAS_JREL :
|
79
|
-
return i + oparg
|
80
|
-
elif op in _HAS_JABS :
|
81
|
-
return oparg
|
82
|
-
return None
|
83
|
-
|
84
|
-
def getInfo(code, index, extended_arg) :
|
85
|
-
"""Returns (op, oparg, index, extended_arg) based on code
|
86
|
-
this is a helper function while looping through byte code,
|
87
|
-
refer to the standard module dis.disassemble() for more info"""
|
88
|
-
|
89
|
-
# get the operation we are performing
|
90
|
-
op = ord(code[index])
|
91
|
-
index = index + 1
|
92
|
-
if op >= HAVE_ARGUMENT :
|
93
|
-
# get the argument to the operation
|
94
|
-
oparg = ord(code[index]) + ord(code[index+1])*256 + extended_arg
|
95
|
-
index = index + 2
|
96
|
-
extended_arg = 0
|
97
|
-
if op == EXTENDED_ARG :
|
98
|
-
extended_arg = oparg * 65536L
|
99
|
-
else :
|
100
|
-
oparg, extended_arg = 0, 0
|
101
|
-
return op, oparg, index, extended_arg
|
102
|
-
|
103
|
-
def initFuncCode(func) :
|
104
|
-
"""Returns (func_code, code, i, maxCode, extended_arg) based on func,
|
105
|
-
this is a helper function to setup looping through byte code"""
|
106
|
-
|
107
|
-
func_code = func.func_code
|
108
|
-
code = func_code.co_code
|
109
|
-
return func_code, code, 0, len(code), 0
|
110
|
-
|
111
|
-
def conditional(op):
|
112
|
-
"returns true if the code results in conditional execution"
|
113
|
-
return op in [83, # return
|
114
|
-
93, # for_iter
|
115
|
-
111, 112, 114, # conditional jump
|
116
|
-
121, # setup_exec
|
117
|
-
130 # raise_varargs
|
118
|
-
]
|
119
|
-
|
120
|
-
# this code is here for debugging purposes.
|
121
|
-
# Jython doesn't support dis, so don't rely on it
|
122
|
-
try :
|
123
|
-
import dis
|
124
|
-
name = dis.opname
|
125
|
-
except ImportError :
|
126
|
-
class Name:
|
127
|
-
'Turn name[x] into x'
|
128
|
-
def __getitem__(self, x):
|
129
|
-
from pychecker import utils
|
130
|
-
return utils.safestr(x)
|
131
|
-
name = Name()
|
data/tools/pychecker/OP.pyc
DELETED
Binary file
|
data/tools/pychecker/OP.pyo
DELETED
Binary file
|
@@ -1,117 +0,0 @@
|
|
1
|
-
import Tkinter
|
2
|
-
|
3
|
-
def bool(value):
|
4
|
-
if value:
|
5
|
-
return 1
|
6
|
-
return 0
|
7
|
-
|
8
|
-
class Base:
|
9
|
-
"Base class for all OptionTypes"
|
10
|
-
|
11
|
-
def __init__(self, name, default):
|
12
|
-
self._name = name
|
13
|
-
self._default = default
|
14
|
-
self._var = None
|
15
|
-
|
16
|
-
def name(self):
|
17
|
-
return self._name
|
18
|
-
|
19
|
-
def set(self, value):
|
20
|
-
self._var.set(value)
|
21
|
-
|
22
|
-
class Boolean(Base):
|
23
|
-
"A option type for editing boolean values"
|
24
|
-
|
25
|
-
def __init__(self, name, default):
|
26
|
-
Base.__init__(self, name, default)
|
27
|
-
|
28
|
-
def field(self, w):
|
29
|
-
self._var = Tkinter.BooleanVar()
|
30
|
-
if self._default:
|
31
|
-
self._var.set(1)
|
32
|
-
else:
|
33
|
-
self._var.set(0)
|
34
|
-
frame = Tkinter.Frame(w, name = self._name + "Frame")
|
35
|
-
result = Tkinter.Checkbutton(frame,
|
36
|
-
name=self._name,
|
37
|
-
text=self._name,
|
38
|
-
variable=self._var)
|
39
|
-
result.grid(sticky=Tkinter.W)
|
40
|
-
frame.columnconfigure(0, weight=1)
|
41
|
-
return frame
|
42
|
-
|
43
|
-
def arg(self):
|
44
|
-
if bool(self._var.get()) != bool(self._default):
|
45
|
-
if bool(self._var.get()):
|
46
|
-
return "--" + self._name
|
47
|
-
return "--no-" + self._name
|
48
|
-
return None
|
49
|
-
|
50
|
-
class Number(Base):
|
51
|
-
"OptionType for editing numbers"
|
52
|
-
|
53
|
-
def __init__(self, name, default):
|
54
|
-
Base.__init__(self, name, default)
|
55
|
-
|
56
|
-
def field(self, w):
|
57
|
-
self._var = Tkinter.IntVar()
|
58
|
-
self._var.set(self._default)
|
59
|
-
frame = Tkinter.Frame(w, name = self._name + "Frame")
|
60
|
-
label = Tkinter.Label(frame, text=self._name + ":")
|
61
|
-
label.grid(row=0, column=0, sticky=Tkinter.W)
|
62
|
-
entry = Tkinter.Entry(frame,
|
63
|
-
name=self._name,
|
64
|
-
textvariable=self._var,
|
65
|
-
width=4)
|
66
|
-
entry.grid(row=0, column=1, sticky=Tkinter.E)
|
67
|
-
for i in range(2):
|
68
|
-
frame.columnconfigure(i, weight=1)
|
69
|
-
return frame
|
70
|
-
|
71
|
-
def arg(self):
|
72
|
-
if self._var.get() != self._default:
|
73
|
-
return "--%s=%d" % (self._name, self._var.get())
|
74
|
-
return None
|
75
|
-
|
76
|
-
class Text(Base):
|
77
|
-
"OptionType for editing a little bit of text"
|
78
|
-
|
79
|
-
def __init__(self, name, default):
|
80
|
-
Base.__init__(self, name, default)
|
81
|
-
|
82
|
-
def width(self):
|
83
|
-
return int(min(15, len(self._default) * 1.20))
|
84
|
-
|
85
|
-
def field(self, w):
|
86
|
-
self._var = Tkinter.StringVar()
|
87
|
-
self._var.set(self._default)
|
88
|
-
frame = Tkinter.Frame(w, name = self._name + "Frame")
|
89
|
-
label = Tkinter.Label(frame, text=self._name + ":")
|
90
|
-
label.grid(row=0, column=0, sticky=Tkinter.W)
|
91
|
-
entry = Tkinter.Entry(frame,
|
92
|
-
name=self._name,
|
93
|
-
textvariable=self._var,
|
94
|
-
width=self.width())
|
95
|
-
entry.grid(row=0, column=1, sticky=Tkinter.E)
|
96
|
-
for i in range(2):
|
97
|
-
frame.columnconfigure(i, weight=1)
|
98
|
-
return frame
|
99
|
-
|
100
|
-
def arg(self):
|
101
|
-
if self._var.get() != self._default:
|
102
|
-
return "--%s=%s" % (self._name, self._var.get())
|
103
|
-
return None
|
104
|
-
|
105
|
-
def join(list):
|
106
|
-
import string
|
107
|
-
return string.join(list, ", ")
|
108
|
-
|
109
|
-
class List(Text):
|
110
|
-
"OptionType for editing a list of values"
|
111
|
-
|
112
|
-
def __init__(self, name, default):
|
113
|
-
Text.__init__(self, name, join(default))
|
114
|
-
|
115
|
-
def set(self, value):
|
116
|
-
self._var.set(join(value))
|
117
|
-
|
Binary file
|
Binary file
|