bee_python 0.0.3 → 0.0.4
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.
- 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
@@ -1,667 +0,0 @@
|
|
1
|
-
# This program is free software; you can redistribute it and/or modify it under
|
2
|
-
# the terms of the GNU Lesser General Public License as published by the Free Software
|
3
|
-
# Foundation; either version 2 of the License, or (at your option) any later
|
4
|
-
# version.
|
5
|
-
#
|
6
|
-
# This program is distributed in the hope that it will be useful, but WITHOUT
|
7
|
-
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
8
|
-
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
|
9
|
-
#
|
10
|
-
# You should have received a copy of the GNU Lesser General Public License along with
|
11
|
-
# this program; if not, write to the Free Software Foundation, Inc.,
|
12
|
-
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
13
|
-
# copyright 2003-2010 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
|
14
|
-
# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
|
15
|
-
# copyright 2003-2010 Sylvain Thenault, all rights reserved.
|
16
|
-
# contact mailto:thenault@gmail.com
|
17
|
-
#
|
18
|
-
# This file is part of logilab-astng.
|
19
|
-
#
|
20
|
-
# logilab-astng is free software: you can redistribute it and/or modify it
|
21
|
-
# under the terms of the GNU Lesser General Public License as published by the
|
22
|
-
# Free Software Foundation, either version 2.1 of the License, or (at your
|
23
|
-
# option) any later version.
|
24
|
-
#
|
25
|
-
# logilab-astng is distributed in the hope that it will be useful, but
|
26
|
-
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
27
|
-
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
28
|
-
# for more details.
|
29
|
-
#
|
30
|
-
# You should have received a copy of the GNU Lesser General Public License along
|
31
|
-
# with logilab-astng. If not, see <http://www.gnu.org/licenses/>.
|
32
|
-
"""python 2.5 builtin _ast compatibility module
|
33
|
-
|
34
|
-
"""
|
35
|
-
|
36
|
-
__docformat__ = "restructuredtext en"
|
37
|
-
|
38
|
-
|
39
|
-
# aliased nodes
|
40
|
-
from _ast import AST as Node, Expr as Discard
|
41
|
-
# nodes which are not part of astng
|
42
|
-
from _ast import (
|
43
|
-
# binary operators
|
44
|
-
Add as _Add, Div as _Div, FloorDiv as _FloorDiv,
|
45
|
-
Mod as _Mod, Mult as _Mult, Pow as _Pow, Sub as _Sub,
|
46
|
-
BitAnd as _BitAnd, BitOr as _BitOr, BitXor as _BitXor,
|
47
|
-
LShift as _LShift, RShift as _RShift,
|
48
|
-
# logical operators
|
49
|
-
And as _And, Or as _Or,
|
50
|
-
# unary operators
|
51
|
-
UAdd as _UAdd, USub as _USub, Not as _Not, Invert as _Invert,
|
52
|
-
# comparison operators
|
53
|
-
Eq as _Eq, Gt as _Gt, GtE as _GtE, In as _In, Is as _Is,
|
54
|
-
IsNot as _IsNot, Lt as _Lt, LtE as _LtE, NotEq as _NotEq,
|
55
|
-
NotIn as _NotIn,
|
56
|
-
# other nodes which are not part of astng
|
57
|
-
Num as _Num, Str as _Str, Load as _Load, Store as _Store, Del as _Del,
|
58
|
-
)
|
59
|
-
|
60
|
-
from logilab.astng import nodes as new
|
61
|
-
|
62
|
-
_BIN_OP_CLASSES = {_Add: '+',
|
63
|
-
_BitAnd: '&',
|
64
|
-
_BitOr: '|',
|
65
|
-
_BitXor: '^',
|
66
|
-
_Div: '/',
|
67
|
-
_FloorDiv: '//',
|
68
|
-
_Mod: '%',
|
69
|
-
_Mult: '*',
|
70
|
-
_Pow: '**',
|
71
|
-
_Sub: '-',
|
72
|
-
_LShift: '<<',
|
73
|
-
_RShift: '>>'}
|
74
|
-
|
75
|
-
_BOOL_OP_CLASSES = {_And: 'and',
|
76
|
-
_Or: 'or'}
|
77
|
-
|
78
|
-
_UNARY_OP_CLASSES = {_UAdd: '+',
|
79
|
-
_USub: '-',
|
80
|
-
_Not: 'not',
|
81
|
-
_Invert: '~'}
|
82
|
-
|
83
|
-
_CMP_OP_CLASSES = {_Eq: '==',
|
84
|
-
_Gt: '>',
|
85
|
-
_GtE: '>=',
|
86
|
-
_In: 'in',
|
87
|
-
_Is: 'is',
|
88
|
-
_IsNot: 'is not',
|
89
|
-
_Lt: '<',
|
90
|
-
_LtE: '<=',
|
91
|
-
_NotEq: '!=',
|
92
|
-
_NotIn: 'not in'}
|
93
|
-
|
94
|
-
|
95
|
-
CONST_NAME_TRANSFORMS = {'None': None,
|
96
|
-
'True': True,
|
97
|
-
'False': False}
|
98
|
-
|
99
|
-
|
100
|
-
def _init_set_doc(node, newnode):
|
101
|
-
newnode.doc = None
|
102
|
-
try:
|
103
|
-
if isinstance(node.body[0], Discard) and isinstance(node.body[0].value, _Str):
|
104
|
-
newnode.tolineno = node.body[0].lineno
|
105
|
-
newnode.doc = node.body[0].value.s
|
106
|
-
node.body = node.body[1:]
|
107
|
-
|
108
|
-
except IndexError:
|
109
|
-
pass # ast built from scratch
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
def native_repr_tree(node, indent='', _done=None):
|
114
|
-
if _done is None:
|
115
|
-
_done = set()
|
116
|
-
if node in _done:
|
117
|
-
print ('loop in tree: %r (%s)' % (node, getattr(node, 'lineno', None)))
|
118
|
-
return
|
119
|
-
_done.add(node)
|
120
|
-
print indent + str(node)
|
121
|
-
if type(node) is str: # XXX crash on Globals
|
122
|
-
return
|
123
|
-
indent += ' '
|
124
|
-
d = node.__dict__
|
125
|
-
if hasattr(node, '_attributes'):
|
126
|
-
for a in node._attributes:
|
127
|
-
attr = d[a]
|
128
|
-
if attr is None:
|
129
|
-
continue
|
130
|
-
print indent + a, repr(attr)
|
131
|
-
for f in node._fields or ():
|
132
|
-
attr = d[f]
|
133
|
-
if attr is None:
|
134
|
-
continue
|
135
|
-
if type(attr) is list:
|
136
|
-
if not attr: continue
|
137
|
-
print indent + f + ' ['
|
138
|
-
for elt in attr:
|
139
|
-
native_repr_tree(elt, indent, _done)
|
140
|
-
print indent + ']'
|
141
|
-
continue
|
142
|
-
if isinstance(attr, (_Load, _Store, _Del)):
|
143
|
-
continue
|
144
|
-
if isinstance(attr, Node):
|
145
|
-
print indent + f
|
146
|
-
native_repr_tree(attr, indent, _done)
|
147
|
-
else:
|
148
|
-
print indent + f, repr(attr)
|
149
|
-
|
150
|
-
|
151
|
-
from logilab.astng.rebuilder import RebuildVisitor
|
152
|
-
# _ast rebuilder ##############################################################
|
153
|
-
|
154
|
-
def _lineno_parent(oldnode, newnode, parent):
|
155
|
-
newnode.parent = parent
|
156
|
-
if hasattr(oldnode, 'lineno'):
|
157
|
-
newnode.lineno = oldnode.lineno
|
158
|
-
|
159
|
-
class TreeRebuilder(RebuildVisitor):
|
160
|
-
"""Rebuilds the _ast tree to become an ASTNG tree"""
|
161
|
-
|
162
|
-
def _set_infos(self, oldnode, newnode, parent):
|
163
|
-
newnode.parent = parent
|
164
|
-
if hasattr(oldnode, 'lineno'):
|
165
|
-
newnode.lineno = oldnode.lineno
|
166
|
-
last = newnode.last_child()
|
167
|
-
newnode.set_line_info(last) # set_line_info accepts None
|
168
|
-
|
169
|
-
def visit_arguments(self, node, parent):
|
170
|
-
"""visit a Arguments node by returning a fresh instance of it"""
|
171
|
-
newnode = new.Arguments()
|
172
|
-
_lineno_parent(node, newnode, parent)
|
173
|
-
self.asscontext = "Ass"
|
174
|
-
newnode.args = [self.visit(child, newnode) for child in node.args]
|
175
|
-
self.asscontext = None
|
176
|
-
newnode.defaults = [self.visit(child, newnode) for child in node.defaults]
|
177
|
-
newnode.vararg = node.vararg
|
178
|
-
newnode.kwarg = node.kwarg
|
179
|
-
self._save_argument_name(newnode)
|
180
|
-
newnode.set_line_info(newnode.last_child())
|
181
|
-
return newnode
|
182
|
-
|
183
|
-
def visit_assattr(self, node, parent):
|
184
|
-
"""visit a AssAttr node by returning a fresh instance of it"""
|
185
|
-
assc, self.asscontext = self.asscontext, None
|
186
|
-
newnode = new.AssAttr()
|
187
|
-
_lineno_parent(node, newnode, parent)
|
188
|
-
newnode.expr = self.visit(node.expr, newnode)
|
189
|
-
self.asscontext = assc
|
190
|
-
self._delayed_assattr.append(newnode)
|
191
|
-
newnode.set_line_info(newnode.last_child())
|
192
|
-
return newnode
|
193
|
-
|
194
|
-
def visit_assert(self, node, parent):
|
195
|
-
"""visit a Assert node by returning a fresh instance of it"""
|
196
|
-
newnode = new.Assert()
|
197
|
-
_lineno_parent(node, newnode, parent)
|
198
|
-
newnode.test = self.visit(node.test, newnode)
|
199
|
-
newnode.fail = self.visit(node.msg, newnode)
|
200
|
-
newnode.set_line_info(newnode.last_child())
|
201
|
-
return newnode
|
202
|
-
|
203
|
-
def visit_assign(self, node, parent):
|
204
|
-
"""visit a Assign node by returning a fresh instance of it"""
|
205
|
-
newnode = new.Assign()
|
206
|
-
_lineno_parent(node, newnode, parent)
|
207
|
-
self.asscontext = "Ass"
|
208
|
-
newnode.targets = [self.visit(child, newnode) for child in node.targets]
|
209
|
-
self.asscontext = None
|
210
|
-
newnode.value = self.visit(node.value, newnode)
|
211
|
-
self._set_assign_infos(newnode)
|
212
|
-
newnode.set_line_info(newnode.last_child())
|
213
|
-
return newnode
|
214
|
-
|
215
|
-
def visit_augassign(self, node, parent):
|
216
|
-
"""visit a AugAssign node by returning a fresh instance of it"""
|
217
|
-
newnode = new.AugAssign()
|
218
|
-
_lineno_parent(node, newnode, parent)
|
219
|
-
newnode.op = _BIN_OP_CLASSES[node.op.__class__] + "="
|
220
|
-
self.asscontext = "Ass"
|
221
|
-
newnode.target = self.visit(node.target, newnode)
|
222
|
-
self.asscontext = None
|
223
|
-
newnode.value = self.visit(node.value, newnode)
|
224
|
-
newnode.set_line_info(newnode.last_child())
|
225
|
-
return newnode
|
226
|
-
|
227
|
-
def visit_backquote(self, node, parent):
|
228
|
-
"""visit a Backquote node by returning a fresh instance of it"""
|
229
|
-
newnode = new.Backquote()
|
230
|
-
_lineno_parent(node, newnode, parent)
|
231
|
-
newnode.value = self.visit(node.value, newnode)
|
232
|
-
newnode.set_line_info(newnode.last_child())
|
233
|
-
return newnode
|
234
|
-
|
235
|
-
def visit_binop(self, node, parent):
|
236
|
-
"""visit a BinOp node by returning a fresh instance of it"""
|
237
|
-
newnode = new.BinOp()
|
238
|
-
_lineno_parent(node, newnode, parent)
|
239
|
-
newnode.left = self.visit(node.left, newnode)
|
240
|
-
newnode.right = self.visit(node.right, newnode)
|
241
|
-
newnode.op = _BIN_OP_CLASSES[node.op.__class__]
|
242
|
-
newnode.set_line_info(newnode.last_child())
|
243
|
-
return newnode
|
244
|
-
|
245
|
-
def visit_boolop(self, node, parent):
|
246
|
-
"""visit a BoolOp node by returning a fresh instance of it"""
|
247
|
-
newnode = new.BoolOp()
|
248
|
-
_lineno_parent(node, newnode, parent)
|
249
|
-
newnode.values = [self.visit(child, newnode) for child in node.values]
|
250
|
-
newnode.op = _BOOL_OP_CLASSES[node.op.__class__]
|
251
|
-
newnode.set_line_info(newnode.last_child())
|
252
|
-
return newnode
|
253
|
-
|
254
|
-
def visit_callfunc(self, node, parent):
|
255
|
-
"""visit a CallFunc node by returning a fresh instance of it"""
|
256
|
-
newnode = new.CallFunc()
|
257
|
-
_lineno_parent(node, newnode, parent)
|
258
|
-
newnode.func = self.visit(node.func, newnode)
|
259
|
-
newnode.args = [self.visit(child, newnode) for child in node.args]
|
260
|
-
newnode.starargs = self.visit(node.starargs, newnode)
|
261
|
-
newnode.kwargs = self.visit(node.kwargs, newnode)
|
262
|
-
newnode.args.extend(self.visit(child, newnode) for child in node.keywords)
|
263
|
-
newnode.set_line_info(newnode.last_child())
|
264
|
-
return newnode
|
265
|
-
|
266
|
-
def _visit_class(self, node, parent):
|
267
|
-
"""visit a Class node by returning a fresh instance of it"""
|
268
|
-
newnode = new.Class(node.name, None)
|
269
|
-
_lineno_parent(node, newnode, parent)
|
270
|
-
_init_set_doc(node, newnode)
|
271
|
-
newnode.bases = [self.visit(child, newnode) for child in node.bases]
|
272
|
-
newnode.body = [self.visit(child, newnode) for child in node.body]
|
273
|
-
newnode.set_line_info(newnode.last_child())
|
274
|
-
return newnode
|
275
|
-
|
276
|
-
def visit_compare(self, node, parent):
|
277
|
-
"""visit a Compare node by returning a fresh instance of it"""
|
278
|
-
newnode = new.Compare()
|
279
|
-
_lineno_parent(node, newnode, parent)
|
280
|
-
newnode.left = self.visit(node.left, newnode)
|
281
|
-
newnode.ops = [(_CMP_OP_CLASSES[op.__class__], self.visit(expr, newnode))
|
282
|
-
for (op, expr) in zip(node.ops, node.comparators)]
|
283
|
-
newnode.set_line_info(newnode.last_child())
|
284
|
-
return newnode
|
285
|
-
|
286
|
-
def visit_comprehension(self, node, parent):
|
287
|
-
"""visit a Comprehension node by returning a fresh instance of it"""
|
288
|
-
newnode = new.Comprehension()
|
289
|
-
_lineno_parent(node, newnode, parent)
|
290
|
-
self.asscontext = "Ass"
|
291
|
-
newnode.target = self.visit(node.target, newnode)
|
292
|
-
self.asscontext = None
|
293
|
-
newnode.iter = self.visit(node.iter, newnode)
|
294
|
-
newnode.ifs = [self.visit(child, newnode) for child in node.ifs]
|
295
|
-
newnode.set_line_info(newnode.last_child())
|
296
|
-
return newnode
|
297
|
-
|
298
|
-
def visit_decorators(self, node, parent):
|
299
|
-
"""visit a Decorators node by returning a fresh instance of it"""
|
300
|
-
# /!\ node is actually a _ast.Function node while
|
301
|
-
# parent is a astng.nodes.Function node
|
302
|
-
newnode = new.Decorators()
|
303
|
-
_lineno_parent(node, newnode, parent)
|
304
|
-
if 'decorators' in node._fields: # py < 2.6, i.e. 2.5
|
305
|
-
decorators = node.decorators
|
306
|
-
else:
|
307
|
-
decorators= node.decorator_list
|
308
|
-
newnode.nodes = [self.visit(child, newnode) for child in decorators]
|
309
|
-
newnode.set_line_info(newnode.last_child())
|
310
|
-
return newnode
|
311
|
-
|
312
|
-
def visit_delete(self, node, parent):
|
313
|
-
"""visit a Delete node by returning a fresh instance of it"""
|
314
|
-
newnode = new.Delete()
|
315
|
-
_lineno_parent(node, newnode, parent)
|
316
|
-
self.asscontext = "Del"
|
317
|
-
newnode.targets = [self.visit(child, newnode) for child in node.targets]
|
318
|
-
self.asscontext = None
|
319
|
-
newnode.set_line_info(newnode.last_child())
|
320
|
-
return newnode
|
321
|
-
|
322
|
-
def visit_dict(self, node, parent):
|
323
|
-
"""visit a Dict node by returning a fresh instance of it"""
|
324
|
-
newnode = new.Dict()
|
325
|
-
_lineno_parent(node, newnode, parent)
|
326
|
-
newnode.items = [(self.visit(key, newnode), self.visit(value, newnode))
|
327
|
-
for key, value in zip(node.keys, node.values)]
|
328
|
-
newnode.set_line_info(newnode.last_child())
|
329
|
-
return newnode
|
330
|
-
|
331
|
-
def visit_discard(self, node, parent):
|
332
|
-
"""visit a Discard node by returning a fresh instance of it"""
|
333
|
-
newnode = new.Discard()
|
334
|
-
_lineno_parent(node, newnode, parent)
|
335
|
-
newnode.value = self.visit(node.value, newnode)
|
336
|
-
newnode.set_line_info(newnode.last_child())
|
337
|
-
return newnode
|
338
|
-
|
339
|
-
def visit_excepthandler(self, node, parent):
|
340
|
-
"""visit an ExceptHandler node by returning a fresh instance of it"""
|
341
|
-
newnode = new.ExceptHandler()
|
342
|
-
_lineno_parent(node, newnode, parent)
|
343
|
-
newnode.type = self.visit(node.type, newnode)
|
344
|
-
self.asscontext = "Ass"
|
345
|
-
newnode.name = self.visit(node.name, newnode)
|
346
|
-
self.asscontext = None
|
347
|
-
newnode.body = [self.visit(child, newnode) for child in node.body]
|
348
|
-
newnode.set_line_info(newnode.last_child())
|
349
|
-
return newnode
|
350
|
-
|
351
|
-
def visit_exec(self, node, parent):
|
352
|
-
"""visit an Exec node by returning a fresh instance of it"""
|
353
|
-
newnode = new.Exec()
|
354
|
-
_lineno_parent(node, newnode, parent)
|
355
|
-
newnode.expr = self.visit(node.body, newnode)
|
356
|
-
newnode.globals = self.visit(node.globals, newnode)
|
357
|
-
newnode.locals = self.visit(node.locals, newnode)
|
358
|
-
newnode.set_line_info(newnode.last_child())
|
359
|
-
return newnode
|
360
|
-
|
361
|
-
def visit_extslice(self, node, parent):
|
362
|
-
"""visit an ExtSlice node by returning a fresh instance of it"""
|
363
|
-
newnode = new.ExtSlice()
|
364
|
-
_lineno_parent(node, newnode, parent)
|
365
|
-
newnode.dims = [self.visit(dim, newnode) for dim in node.dims]
|
366
|
-
newnode.set_line_info(newnode.last_child())
|
367
|
-
return newnode
|
368
|
-
|
369
|
-
def visit_for(self, node, parent):
|
370
|
-
"""visit a For node by returning a fresh instance of it"""
|
371
|
-
newnode = new.For()
|
372
|
-
_lineno_parent(node, newnode, parent)
|
373
|
-
self.asscontext = "Ass"
|
374
|
-
newnode.target = self.visit(node.target, newnode)
|
375
|
-
self.asscontext = None
|
376
|
-
newnode.iter = self.visit(node.iter, newnode)
|
377
|
-
newnode.body = [self.visit(child, newnode) for child in node.body]
|
378
|
-
newnode.orelse = [self.visit(child, newnode) for child in node.orelse]
|
379
|
-
newnode.set_line_info(newnode.last_child())
|
380
|
-
return newnode
|
381
|
-
|
382
|
-
def visit_from(self, node, parent):
|
383
|
-
"""visit a From node by returning a fresh instance of it"""
|
384
|
-
names = [(alias.name, alias.asname) for alias in node.names]
|
385
|
-
newnode = new.From(node.module, names, node.level)
|
386
|
-
self._set_infos(node, newnode, parent)
|
387
|
-
self._store_from_node(newnode)
|
388
|
-
|
389
|
-
return newnode
|
390
|
-
|
391
|
-
def _visit_function(self, node, parent):
|
392
|
-
"""visit a Function node by returning a fresh instance of it"""
|
393
|
-
newnode = new.Function(node.name, None)
|
394
|
-
_lineno_parent(node, newnode, parent)
|
395
|
-
_init_set_doc(node, newnode)
|
396
|
-
newnode.args = self.visit(node.args, newnode)
|
397
|
-
newnode.body = [self.visit(child, newnode) for child in node.body]
|
398
|
-
if 'decorators' in node._fields: # py < 2.6
|
399
|
-
attr = 'decorators'
|
400
|
-
else:
|
401
|
-
attr = 'decorator_list'
|
402
|
-
decorators = getattr(node, attr)
|
403
|
-
if decorators:
|
404
|
-
newnode.decorators = self.visit_decorators(node, newnode)
|
405
|
-
else:
|
406
|
-
newnode.decorators = None
|
407
|
-
newnode.set_line_info(newnode.last_child())
|
408
|
-
return newnode
|
409
|
-
|
410
|
-
def visit_genexpr(self, node, parent):
|
411
|
-
"""visit a GenExpr node by returning a fresh instance of it"""
|
412
|
-
newnode = new.GenExpr()
|
413
|
-
_lineno_parent(node, newnode, parent)
|
414
|
-
newnode.elt = self.visit(node.elt, newnode)
|
415
|
-
newnode.generators = [self.visit(child, newnode) for child in node.generators]
|
416
|
-
newnode.set_line_info(newnode.last_child())
|
417
|
-
return newnode
|
418
|
-
|
419
|
-
def visit_getattr(self, node, parent):
|
420
|
-
"""visit a Getattr node by returning a fresh instance of it"""
|
421
|
-
if self.asscontext == "Del":
|
422
|
-
# FIXME : maybe we should reintroduce and visit_delattr ?
|
423
|
-
# for instance, deactivating asscontext
|
424
|
-
newnode = new.DelAttr()
|
425
|
-
elif self.asscontext == "Ass":
|
426
|
-
# FIXME : maybe we should call visit_assattr ?
|
427
|
-
newnode = new.AssAttr()
|
428
|
-
self._delayed_assattr.append(newnode)
|
429
|
-
else:
|
430
|
-
newnode = new.Getattr()
|
431
|
-
_lineno_parent(node, newnode, parent)
|
432
|
-
asscontext, self.asscontext = self.asscontext, None
|
433
|
-
newnode.expr = self.visit(node.value, newnode)
|
434
|
-
self.asscontext = asscontext
|
435
|
-
newnode.attrname = node.attr
|
436
|
-
newnode.set_line_info(newnode.last_child())
|
437
|
-
return newnode
|
438
|
-
|
439
|
-
def visit_if(self, node, parent):
|
440
|
-
"""visit a If node by returning a fresh instance of it"""
|
441
|
-
newnode = new.If()
|
442
|
-
_lineno_parent(node, newnode, parent)
|
443
|
-
newnode.test = self.visit(node.test, newnode)
|
444
|
-
newnode.body = [self.visit(child, newnode) for child in node.body]
|
445
|
-
newnode.orelse = [self.visit(child, newnode) for child in node.orelse]
|
446
|
-
newnode.set_line_info(newnode.last_child())
|
447
|
-
return newnode
|
448
|
-
|
449
|
-
def visit_ifexp(self, node, parent):
|
450
|
-
"""visit a IfExp node by returning a fresh instance of it"""
|
451
|
-
newnode = new.IfExp()
|
452
|
-
_lineno_parent(node, newnode, parent)
|
453
|
-
newnode.test = self.visit(node.test, newnode)
|
454
|
-
newnode.body = self.visit(node.body, newnode)
|
455
|
-
newnode.orelse = self.visit(node.orelse, newnode)
|
456
|
-
newnode.set_line_info(newnode.last_child())
|
457
|
-
return newnode
|
458
|
-
|
459
|
-
def visit_import(self, node, parent):
|
460
|
-
"""visit a Import node by returning a fresh instance of it"""
|
461
|
-
newnode = new.Import()
|
462
|
-
self._set_infos(node, newnode, parent)
|
463
|
-
newnode.names = [(alias.name, alias.asname) for alias in node.names]
|
464
|
-
self._save_import_locals(newnode)
|
465
|
-
return newnode
|
466
|
-
|
467
|
-
def visit_index(self, node, parent):
|
468
|
-
"""visit a Index node by returning a fresh instance of it"""
|
469
|
-
newnode = new.Index()
|
470
|
-
_lineno_parent(node, newnode, parent)
|
471
|
-
newnode.value = self.visit(node.value, newnode)
|
472
|
-
newnode.set_line_info(newnode.last_child())
|
473
|
-
return newnode
|
474
|
-
|
475
|
-
def visit_keyword(self, node, parent):
|
476
|
-
"""visit a Keyword node by returning a fresh instance of it"""
|
477
|
-
newnode = new.Keyword()
|
478
|
-
_lineno_parent(node, newnode, parent)
|
479
|
-
newnode.arg = node.arg
|
480
|
-
newnode.value = self.visit(node.value, newnode)
|
481
|
-
newnode.set_line_info(newnode.last_child())
|
482
|
-
return newnode
|
483
|
-
|
484
|
-
def visit_lambda(self, node, parent):
|
485
|
-
"""visit a Lambda node by returning a fresh instance of it"""
|
486
|
-
newnode = new.Lambda()
|
487
|
-
_lineno_parent(node, newnode, parent)
|
488
|
-
newnode.args = self.visit(node.args, newnode)
|
489
|
-
newnode.body = self.visit(node.body, newnode)
|
490
|
-
newnode.set_line_info(newnode.last_child())
|
491
|
-
return newnode
|
492
|
-
|
493
|
-
def visit_list(self, node, parent):
|
494
|
-
"""visit a List node by returning a fresh instance of it"""
|
495
|
-
newnode = new.List()
|
496
|
-
_lineno_parent(node, newnode, parent)
|
497
|
-
newnode.elts = [self.visit(child, newnode) for child in node.elts]
|
498
|
-
newnode.set_line_info(newnode.last_child())
|
499
|
-
return newnode
|
500
|
-
|
501
|
-
def visit_listcomp(self, node, parent):
|
502
|
-
"""visit a ListComp node by returning a fresh instance of it"""
|
503
|
-
newnode = new.ListComp()
|
504
|
-
_lineno_parent(node, newnode, parent)
|
505
|
-
newnode.elt = self.visit(node.elt, newnode)
|
506
|
-
newnode.generators = [self.visit(child, newnode)
|
507
|
-
for child in node.generators]
|
508
|
-
newnode.set_line_info(newnode.last_child())
|
509
|
-
return newnode
|
510
|
-
|
511
|
-
def visit_module(self, node, modname):
|
512
|
-
"""visit a Module node by returning a fresh instance of it"""
|
513
|
-
newnode = new.Module(modname, None)
|
514
|
-
_lineno_parent(node, newnode, parent=None)
|
515
|
-
_init_set_doc(node, newnode)
|
516
|
-
newnode.body = [self.visit(child, newnode) for child in node.body]
|
517
|
-
newnode.set_line_info(newnode.last_child())
|
518
|
-
return newnode
|
519
|
-
|
520
|
-
def visit_name(self, node, parent):
|
521
|
-
"""visit a Name node by returning a fresh instance of it"""
|
522
|
-
if node.id in CONST_NAME_TRANSFORMS:
|
523
|
-
newnode = new.Const(CONST_NAME_TRANSFORMS[node.id])
|
524
|
-
self._set_infos(node, newnode, parent)
|
525
|
-
return newnode
|
526
|
-
if self.asscontext == "Del":
|
527
|
-
newnode = new.DelName()
|
528
|
-
elif self.asscontext is not None: # Ass
|
529
|
-
assert self.asscontext == "Ass"
|
530
|
-
newnode = new.AssName()
|
531
|
-
else:
|
532
|
-
newnode = new.Name()
|
533
|
-
_lineno_parent(node, newnode, parent)
|
534
|
-
newnode.name = node.id
|
535
|
-
# XXX REMOVE me :
|
536
|
-
if self.asscontext in ('Del', 'Ass'): # 'Aug' ??
|
537
|
-
self._save_assignment(newnode)
|
538
|
-
newnode.set_line_info(newnode.last_child())
|
539
|
-
return newnode
|
540
|
-
|
541
|
-
def visit_num(self, node, parent):
|
542
|
-
"""visit a a Num node by returning a fresh instance of Const"""
|
543
|
-
newnode = new.Const(node.n)
|
544
|
-
self._set_infos(node, newnode, parent)
|
545
|
-
return newnode
|
546
|
-
|
547
|
-
def visit_str(self, node, parent):
|
548
|
-
"""visit a a Str node by returning a fresh instance of Const"""
|
549
|
-
newnode = new.Const(node.s)
|
550
|
-
self._set_infos(node, newnode, parent)
|
551
|
-
return newnode
|
552
|
-
|
553
|
-
def visit_print(self, node, parent):
|
554
|
-
"""visit a Print node by returning a fresh instance of it"""
|
555
|
-
newnode = new.Print()
|
556
|
-
_lineno_parent(node, newnode, parent)
|
557
|
-
newnode.nl = node.nl
|
558
|
-
newnode.dest = self.visit(node.dest, newnode)
|
559
|
-
newnode.values = [self.visit(child, newnode) for child in node.values]
|
560
|
-
newnode.set_line_info(newnode.last_child())
|
561
|
-
return newnode
|
562
|
-
|
563
|
-
def visit_raise(self, node, parent):
|
564
|
-
"""visit a Raise node by returning a fresh instance of it"""
|
565
|
-
newnode = new.Raise()
|
566
|
-
_lineno_parent(node, newnode, parent)
|
567
|
-
newnode.type = self.visit(node.type, newnode)
|
568
|
-
newnode.inst = self.visit(node.inst, newnode)
|
569
|
-
newnode.tback = self.visit(node.tback, newnode)
|
570
|
-
newnode.set_line_info(newnode.last_child())
|
571
|
-
return newnode
|
572
|
-
|
573
|
-
def visit_return(self, node, parent):
|
574
|
-
"""visit a Return node by returning a fresh instance of it"""
|
575
|
-
newnode = new.Return()
|
576
|
-
_lineno_parent(node, newnode, parent)
|
577
|
-
newnode.value = self.visit(node.value, newnode)
|
578
|
-
newnode.set_line_info(newnode.last_child())
|
579
|
-
return newnode
|
580
|
-
|
581
|
-
def visit_slice(self, node, parent):
|
582
|
-
"""visit a Slice node by returning a fresh instance of it"""
|
583
|
-
newnode = new.Slice()
|
584
|
-
_lineno_parent(node, newnode, parent)
|
585
|
-
newnode.lower = self.visit(node.lower, newnode)
|
586
|
-
newnode.upper = self.visit(node.upper, newnode)
|
587
|
-
newnode.step = self.visit(node.step, newnode)
|
588
|
-
newnode.set_line_info(newnode.last_child())
|
589
|
-
return newnode
|
590
|
-
|
591
|
-
def visit_subscript(self, node, parent):
|
592
|
-
"""visit a Subscript node by returning a fresh instance of it"""
|
593
|
-
newnode = new.Subscript()
|
594
|
-
_lineno_parent(node, newnode, parent)
|
595
|
-
subcontext, self.asscontext = self.asscontext, None
|
596
|
-
newnode.value = self.visit(node.value, newnode)
|
597
|
-
newnode.slice = self.visit(node.slice, newnode)
|
598
|
-
self.asscontext = subcontext
|
599
|
-
newnode.set_line_info(newnode.last_child())
|
600
|
-
return newnode
|
601
|
-
|
602
|
-
def visit_tryexcept(self, node, parent):
|
603
|
-
"""visit a TryExcept node by returning a fresh instance of it"""
|
604
|
-
newnode = new.TryExcept()
|
605
|
-
_lineno_parent(node, newnode, parent)
|
606
|
-
newnode.body = [self.visit(child, newnode) for child in node.body]
|
607
|
-
newnode.handlers = [self.visit(child, newnode) for child in node.handlers]
|
608
|
-
newnode.orelse = [self.visit(child, newnode) for child in node.orelse]
|
609
|
-
newnode.set_line_info(newnode.last_child())
|
610
|
-
return newnode
|
611
|
-
|
612
|
-
def visit_tryfinally(self, node, parent):
|
613
|
-
"""visit a TryFinally node by returning a fresh instance of it"""
|
614
|
-
newnode = new.TryFinally()
|
615
|
-
_lineno_parent(node, newnode, parent)
|
616
|
-
newnode.body = [self.visit(child, newnode) for child in node.body]
|
617
|
-
newnode.finalbody = [self.visit(n, newnode) for n in node.finalbody]
|
618
|
-
newnode.set_line_info(newnode.last_child())
|
619
|
-
return newnode
|
620
|
-
|
621
|
-
def visit_tuple(self, node, parent):
|
622
|
-
"""visit a Tuple node by returning a fresh instance of it"""
|
623
|
-
newnode = new.Tuple()
|
624
|
-
_lineno_parent(node, newnode, parent)
|
625
|
-
newnode.elts = [self.visit(child, newnode) for child in node.elts]
|
626
|
-
newnode.set_line_info(newnode.last_child())
|
627
|
-
return newnode
|
628
|
-
|
629
|
-
def visit_unaryop(self, node, parent):
|
630
|
-
"""visit a UnaryOp node by returning a fresh instance of it"""
|
631
|
-
newnode = new.UnaryOp()
|
632
|
-
_lineno_parent(node, newnode, parent)
|
633
|
-
newnode.operand = self.visit(node.operand, newnode)
|
634
|
-
newnode.op = _UNARY_OP_CLASSES[node.op.__class__]
|
635
|
-
newnode.set_line_info(newnode.last_child())
|
636
|
-
return newnode
|
637
|
-
|
638
|
-
def visit_while(self, node, parent):
|
639
|
-
"""visit a While node by returning a fresh instance of it"""
|
640
|
-
newnode = new.While()
|
641
|
-
_lineno_parent(node, newnode, parent)
|
642
|
-
newnode.test = self.visit(node.test, newnode)
|
643
|
-
newnode.body = [self.visit(child, newnode) for child in node.body]
|
644
|
-
newnode.orelse = [self.visit(child, newnode) for child in node.orelse]
|
645
|
-
newnode.set_line_info(newnode.last_child())
|
646
|
-
return newnode
|
647
|
-
|
648
|
-
def visit_with(self, node, parent):
|
649
|
-
"""visit a With node by returning a fresh instance of it"""
|
650
|
-
newnode = new.With()
|
651
|
-
_lineno_parent(node, newnode, parent)
|
652
|
-
newnode.expr = self.visit(node.context_expr, newnode)
|
653
|
-
self.asscontext = "Ass"
|
654
|
-
newnode.vars = self.visit(node.optional_vars, newnode)
|
655
|
-
self.asscontext = None
|
656
|
-
newnode.body = [self.visit(child, newnode) for child in node.body]
|
657
|
-
newnode.set_line_info(newnode.last_child())
|
658
|
-
return newnode
|
659
|
-
|
660
|
-
def visit_yield(self, node, parent):
|
661
|
-
"""visit a Yield node by returning a fresh instance of it"""
|
662
|
-
newnode = new.Yield()
|
663
|
-
_lineno_parent(node, newnode, parent)
|
664
|
-
newnode.value = self.visit(node.value, newnode)
|
665
|
-
newnode.set_line_info(newnode.last_child())
|
666
|
-
return newnode
|
667
|
-
|