bee_python 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE +202 -0
- data/build/README +23 -0
- data/egg/egg/build.yml +70 -0
- data/egg/egg/ez_setup.py +280 -0
- data/egg/egg/script.py +12 -0
- data/egg/egg/setup.erb +11 -0
- data/egg/egg/suite.py +37 -0
- data/egg/egg/test.py +31 -0
- data/egg/egg.yml +69 -0
- data/egg/http/build.erb +53 -0
- data/egg/http/server.py +34 -0
- data/egg/http.yml +50 -0
- data/egg/mysql/mysql.py +43 -0
- data/egg/mysql.yml +44 -0
- data/egg/project/build.erb +77 -0
- data/egg/project/script.py +42 -0
- data/egg/project/test.py +31 -0
- data/egg/project.yml +59 -0
- data/egg/script/build.erb +35 -0
- data/egg/script/script.py +42 -0
- data/egg/script.yml +50 -0
- data/egg/soap/build.erb +52 -0
- data/egg/soap/client.py +18 -0
- data/egg/soap/server.py +30 -0
- data/egg/soap.yml +58 -0
- data/egg/source/source.py +42 -0
- data/egg/source.yml +47 -0
- data/egg/test/test.py +28 -0
- data/egg/test.yml +44 -0
- data/egg/xmlrpc/build.erb +52 -0
- data/egg/xmlrpc/client.py +22 -0
- data/egg/xmlrpc/server.py +24 -0
- data/egg/xmlrpc.yml +51 -0
- data/lib/bee_task_python.rb +390 -0
- data/test/build.yml +16 -0
- data/test/tc_bee_task_python.rb +27 -0
- data/test/test_build.rb +26 -0
- data/test/test_build_listener.rb +62 -0
- data/test/ts_bee_python.rb +26 -0
- data/tools/common/__init__.py +5 -0
- data/tools/common/common/__init__.py +140 -0
- data/tools/common/common/__pkginfo__.py +43 -0
- data/tools/common/common/adbh.py +35 -0
- data/tools/common/common/cache.py +114 -0
- data/tools/common/common/changelog.py +234 -0
- data/tools/common/common/clcommands.py +181 -0
- data/tools/common/common/cli.py +212 -0
- data/tools/common/common/compat.py +328 -0
- data/tools/common/common/configuration.py +1087 -0
- data/tools/common/common/contexts.py +58 -0
- data/tools/common/common/corbautils.py +117 -0
- data/tools/common/common/daemon.py +171 -0
- data/tools/common/common/date.py +279 -0
- data/tools/common/common/db.py +49 -0
- data/tools/common/common/dbf.py +229 -0
- data/tools/common/common/debugger.py +208 -0
- data/tools/common/common/decorators.py +190 -0
- data/tools/common/common/deprecation.py +118 -0
- data/tools/common/common/fileutils.py +409 -0
- data/tools/common/common/graph.py +259 -0
- data/tools/common/common/html.py +142 -0
- data/tools/common/common/interface.py +76 -0
- data/tools/common/common/logging_ext.py +166 -0
- data/tools/common/common/modutils.py +670 -0
- data/tools/common/common/optik_ext.py +383 -0
- data/tools/common/common/optparser.py +92 -0
- data/tools/common/common/pdf_ext.py +111 -0
- data/tools/common/common/proc.py +276 -0
- data/tools/common/common/pyro_ext.py +146 -0
- data/tools/common/common/pytest.py +754 -0
- data/tools/common/common/shellutils.py +383 -0
- data/tools/common/common/sphinx_ext.py +87 -0
- data/tools/common/common/sphinxutils.py +122 -0
- data/tools/common/common/sqlgen.py +31 -0
- data/tools/common/common/table.py +930 -0
- data/tools/common/common/tasksqueue.py +97 -0
- data/tools/common/common/test/__init__.py +1 -0
- data/tools/common/common/test/data/ChangeLog +184 -0
- data/tools/common/common/test/data/MyPyPa-0.1.0-py2.5.egg +0 -0
- data/tools/common/common/test/data/__init__.py +1 -0
- data/tools/common/common/test/data/content_differ_dir/NOTHING +0 -0
- data/tools/common/common/test/data/content_differ_dir/README +1 -0
- data/tools/common/common/test/data/content_differ_dir/subdir/coin +1 -0
- data/tools/common/common/test/data/content_differ_dir/subdir/toto.txt +53 -0
- data/tools/common/common/test/data/file_differ_dir/NOTHING +0 -0
- data/tools/common/common/test/data/file_differ_dir/README +1 -0
- data/tools/common/common/test/data/file_differ_dir/subdir/toto.txt +53 -0
- 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 +9 -0
- data/tools/common/common/test/data/module.py +88 -0
- data/tools/common/common/test/data/module2.py +77 -0
- data/tools/common/common/test/data/newlines.txt +3 -0
- data/tools/common/common/test/data/noendingnewline.py +36 -0
- data/tools/common/common/test/data/nonregr.py +14 -0
- 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 +1 -0
- data/tools/common/common/test/data/reference_dir/subdir/coin +1 -0
- data/tools/common/common/test/data/reference_dir/subdir/toto.txt +53 -0
- data/tools/common/common/test/data/same_dir/NOTHING +0 -0
- data/tools/common/common/test/data/same_dir/README +1 -0
- data/tools/common/common/test/data/same_dir/subdir/coin +1 -0
- data/tools/common/common/test/data/same_dir/subdir/toto.txt +53 -0
- data/tools/common/common/test/data/spam.txt +9 -0
- data/tools/common/common/test/data/sub/doc.txt +1 -0
- data/tools/common/common/test/data/sub/momo.py +1 -0
- data/tools/common/common/test/data/subdir_differ_dir/NOTHING +0 -0
- data/tools/common/common/test/data/subdir_differ_dir/README +1 -0
- data/tools/common/common/test/data/subdir_differ_dir/subdir/coin +1 -0
- data/tools/common/common/test/data/subdir_differ_dir/subdir/toto.txt +53 -0
- data/tools/common/common/test/data/test.ini +20 -0
- data/tools/common/common/test/data/test1.msg +30 -0
- data/tools/common/common/test/data/test2.msg +42 -0
- data/tools/common/common/test/data/write_protected_file.txt +0 -0
- data/tools/common/common/test/foomod.py +17 -0
- data/tools/common/common/test/unittest_cache.py +129 -0
- data/tools/common/common/test/unittest_changelog.py +37 -0
- data/tools/common/common/test/unittest_compat.py +239 -0
- data/tools/common/common/test/unittest_configuration.py +348 -0
- data/tools/common/common/test/unittest_date.py +154 -0
- data/tools/common/common/test/unittest_decorators.py +62 -0
- data/tools/common/common/test/unittest_deprecation.py +76 -0
- data/tools/common/common/test/unittest_fileutils.py +133 -0
- data/tools/common/common/test/unittest_graph.py +50 -0
- data/tools/common/common/test/unittest_html.py +76 -0
- data/tools/common/common/test/unittest_interface.py +87 -0
- data/tools/common/common/test/unittest_modutils.py +244 -0
- data/tools/common/common/test/unittest_pytest.py +50 -0
- data/tools/common/common/test/unittest_shellutils.py +248 -0
- data/tools/common/common/test/unittest_table.py +448 -0
- data/tools/common/common/test/unittest_taskqueue.py +71 -0
- data/tools/common/common/test/unittest_testlib.py +956 -0
- data/tools/common/common/test/unittest_textutils.py +247 -0
- data/tools/common/common/test/unittest_tree.py +248 -0
- data/tools/common/common/test/unittest_umessage.py +55 -0
- data/tools/common/common/test/unittest_ureports_html.py +64 -0
- data/tools/common/common/test/unittest_ureports_text.py +105 -0
- data/tools/common/common/test/unittest_xmlutils.py +75 -0
- data/tools/common/common/test/utils.py +87 -0
- data/tools/common/common/testlib.py +1927 -0
- data/tools/common/common/textutils.py +476 -0
- data/tools/common/common/tree.py +372 -0
- data/tools/common/common/umessage.py +161 -0
- data/tools/common/common/ureports/__init__.py +174 -0
- data/tools/common/common/ureports/docbook_writer.py +139 -0
- data/tools/common/common/ureports/html_writer.py +131 -0
- data/tools/common/common/ureports/nodes.py +201 -0
- data/tools/common/common/ureports/text_writer.py +140 -0
- data/tools/common/common/vcgutils.py +216 -0
- data/tools/common/common/visitor.py +107 -0
- data/tools/common/common/xmlrpcutils.py +136 -0
- data/tools/common/common/xmlutils.py +61 -0
- data/tools/compile/compile.py +16 -0
- data/tools/coverage/coverage.py +602 -0
- data/tools/epydoc/__init__.py +227 -0
- data/tools/epydoc/__init__.pyc +0 -0
- data/tools/epydoc/apidoc.py +2203 -0
- data/tools/epydoc/apidoc.pyc +0 -0
- data/tools/epydoc/checker.py +349 -0
- data/tools/epydoc/checker.pyc +0 -0
- data/tools/epydoc/cli.py +1470 -0
- data/tools/epydoc/cli.pyc +0 -0
- data/tools/epydoc/compat.py +250 -0
- data/tools/epydoc/compat.pyc +0 -0
- data/tools/epydoc/docbuilder.py +1358 -0
- data/tools/epydoc/docbuilder.pyc +0 -0
- data/tools/epydoc/docintrospecter.py +1056 -0
- data/tools/epydoc/docintrospecter.pyc +0 -0
- data/tools/epydoc/docparser.py +2113 -0
- data/tools/epydoc/docparser.pyc +0 -0
- data/tools/epydoc/docstringparser.py +1111 -0
- data/tools/epydoc/docstringparser.pyc +0 -0
- data/tools/epydoc/docwriter/__init__.py +12 -0
- data/tools/epydoc/docwriter/__init__.pyc +0 -0
- data/tools/epydoc/docwriter/dotgraph.py +1351 -0
- data/tools/epydoc/docwriter/dotgraph.pyc +0 -0
- data/tools/epydoc/docwriter/html.py +3491 -0
- data/tools/epydoc/docwriter/html.pyc +0 -0
- data/tools/epydoc/docwriter/html_colorize.py +909 -0
- data/tools/epydoc/docwriter/html_colorize.pyc +0 -0
- data/tools/epydoc/docwriter/html_css.py +550 -0
- data/tools/epydoc/docwriter/html_css.pyc +0 -0
- data/tools/epydoc/docwriter/html_help.py +190 -0
- data/tools/epydoc/docwriter/html_help.pyc +0 -0
- data/tools/epydoc/docwriter/latex.py +1187 -0
- data/tools/epydoc/docwriter/latex.pyc +0 -0
- data/tools/epydoc/docwriter/plaintext.py +276 -0
- data/tools/epydoc/docwriter/plaintext.pyc +0 -0
- data/tools/epydoc/docwriter/xlink.py +505 -0
- data/tools/epydoc/docwriter/xlink.pyc +0 -0
- data/tools/epydoc/gui.py +1148 -0
- data/tools/epydoc/gui.pyc +0 -0
- data/tools/epydoc/log.py +204 -0
- data/tools/epydoc/log.pyc +0 -0
- data/tools/epydoc/markup/__init__.py +623 -0
- data/tools/epydoc/markup/__init__.pyc +0 -0
- data/tools/epydoc/markup/doctest.py +311 -0
- data/tools/epydoc/markup/doctest.pyc +0 -0
- data/tools/epydoc/markup/epytext.py +2116 -0
- data/tools/epydoc/markup/epytext.pyc +0 -0
- data/tools/epydoc/markup/javadoc.py +250 -0
- data/tools/epydoc/markup/javadoc.pyc +0 -0
- data/tools/epydoc/markup/plaintext.py +78 -0
- data/tools/epydoc/markup/plaintext.pyc +0 -0
- data/tools/epydoc/markup/pyval_repr.py +532 -0
- data/tools/epydoc/markup/pyval_repr.pyc +0 -0
- data/tools/epydoc/markup/restructuredtext.py +906 -0
- data/tools/epydoc/markup/restructuredtext.pyc +0 -0
- data/tools/epydoc/test/__init__.py +97 -0
- data/tools/epydoc/test/__init__.pyc +0 -0
- data/tools/epydoc/test/util.py +226 -0
- data/tools/epydoc/test/util.pyc +0 -0
- data/tools/epydoc/util.py +289 -0
- data/tools/epydoc/util.pyc +0 -0
- data/tools/logilab/logilab/__init__.py +5 -0
- data/tools/logilab/logilab/astng/__init__.py +82 -0
- data/tools/logilab/logilab/astng/__pkginfo__.py +76 -0
- data/tools/logilab/logilab/astng/_exceptions.py +64 -0
- data/tools/logilab/logilab/astng/_nodes_ast.py +667 -0
- data/tools/logilab/logilab/astng/_nodes_compiler.py +758 -0
- data/tools/logilab/logilab/astng/bases.py +608 -0
- data/tools/logilab/logilab/astng/builder.py +239 -0
- data/tools/logilab/logilab/astng/inference.py +426 -0
- data/tools/logilab/logilab/astng/inspector.py +289 -0
- data/tools/logilab/logilab/astng/manager.py +421 -0
- data/tools/logilab/logilab/astng/mixins.py +165 -0
- data/tools/logilab/logilab/astng/node_classes.py +848 -0
- data/tools/logilab/logilab/astng/nodes.py +85 -0
- data/tools/logilab/logilab/astng/nodes_as_string.py +389 -0
- data/tools/logilab/logilab/astng/patchcomptransformer.py +159 -0
- data/tools/logilab/logilab/astng/protocols.py +333 -0
- data/tools/logilab/logilab/astng/raw_building.py +212 -0
- data/tools/logilab/logilab/astng/rebuilder.py +307 -0
- data/tools/logilab/logilab/astng/scoped_nodes.py +951 -0
- data/tools/logilab/logilab/astng/test/__init__.py +19 -0
- 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 +33 -0
- data/tools/logilab/logilab/astng/test/data/SSL1/__init__.py +20 -0
- data/tools/logilab/logilab/astng/test/data/__init__.py +20 -0
- data/tools/logilab/logilab/astng/test/data/all.py +29 -0
- data/tools/logilab/logilab/astng/test/data/appl/__init__.py +23 -0
- data/tools/logilab/logilab/astng/test/data/appl/myConnection.py +30 -0
- data/tools/logilab/logilab/astng/test/data/format.py +34 -0
- data/tools/logilab/logilab/astng/test/data/module.py +90 -0
- data/tools/logilab/logilab/astng/test/data/module2.py +112 -0
- data/tools/logilab/logilab/astng/test/data/noendingnewline.py +57 -0
- data/tools/logilab/logilab/astng/test/data/nonregr.py +76 -0
- data/tools/logilab/logilab/astng/test/data/notall.py +28 -0
- data/tools/logilab/logilab/astng/test/data2/__init__.py +20 -0
- data/tools/logilab/logilab/astng/test/data2/clientmodule_test.py +51 -0
- data/tools/logilab/logilab/astng/test/data2/suppliermodule_test.py +32 -0
- data/tools/logilab/logilab/astng/test/regrtest.py +135 -0
- data/tools/logilab/logilab/astng/test/regrtest_data/absimport.py +22 -0
- data/tools/logilab/logilab/astng/test/regrtest_data/descriptor_crash.py +31 -0
- data/tools/logilab/logilab/astng/test/regrtest_data/import_package_subpackage_module.py +68 -0
- data/tools/logilab/logilab/astng/test/regrtest_data/package/__init__.py +24 -0
- data/tools/logilab/logilab/astng/test/regrtest_data/package/subpackage/__init__.py +20 -0
- data/tools/logilab/logilab/astng/test/regrtest_data/package/subpackage/module.py +20 -0
- data/tools/logilab/logilab/astng/test/unittest_builder.py +684 -0
- data/tools/logilab/logilab/astng/test/unittest_inference.py +1112 -0
- data/tools/logilab/logilab/astng/test/unittest_inspector.py +105 -0
- data/tools/logilab/logilab/astng/test/unittest_lookup.py +302 -0
- data/tools/logilab/logilab/astng/test/unittest_manager.py +98 -0
- data/tools/logilab/logilab/astng/test/unittest_nodes.py +302 -0
- data/tools/logilab/logilab/astng/test/unittest_scoped_nodes.py +501 -0
- data/tools/logilab/logilab/astng/test/unittest_utils.py +104 -0
- data/tools/logilab/logilab/astng/utils.py +342 -0
- data/tools/logilab/logilab/common/__init__.py +140 -0
- data/tools/logilab/logilab/common/__pkginfo__.py +43 -0
- data/tools/logilab/logilab/common/adbh.py +35 -0
- data/tools/logilab/logilab/common/cache.py +114 -0
- data/tools/logilab/logilab/common/changelog.py +234 -0
- data/tools/logilab/logilab/common/clcommands.py +181 -0
- data/tools/logilab/logilab/common/cli.py +212 -0
- data/tools/logilab/logilab/common/compat.py +328 -0
- data/tools/logilab/logilab/common/configuration.py +1087 -0
- data/tools/logilab/logilab/common/contexts.py +58 -0
- data/tools/logilab/logilab/common/corbautils.py +117 -0
- data/tools/logilab/logilab/common/daemon.py +171 -0
- data/tools/logilab/logilab/common/date.py +279 -0
- data/tools/logilab/logilab/common/db.py +49 -0
- data/tools/logilab/logilab/common/dbf.py +229 -0
- data/tools/logilab/logilab/common/debugger.py +208 -0
- data/tools/logilab/logilab/common/decorators.py +190 -0
- data/tools/logilab/logilab/common/deprecation.py +118 -0
- data/tools/logilab/logilab/common/fileutils.py +409 -0
- data/tools/logilab/logilab/common/graph.py +259 -0
- data/tools/logilab/logilab/common/html.py +142 -0
- data/tools/logilab/logilab/common/interface.py +76 -0
- data/tools/logilab/logilab/common/logging_ext.py +166 -0
- data/tools/logilab/logilab/common/modutils.py +670 -0
- data/tools/logilab/logilab/common/optik_ext.py +383 -0
- data/tools/logilab/logilab/common/optparser.py +92 -0
- data/tools/logilab/logilab/common/pdf_ext.py +111 -0
- data/tools/logilab/logilab/common/proc.py +276 -0
- data/tools/logilab/logilab/common/pyro_ext.py +146 -0
- data/tools/logilab/logilab/common/pytest.py +754 -0
- data/tools/logilab/logilab/common/shellutils.py +383 -0
- data/tools/logilab/logilab/common/sphinx_ext.py +87 -0
- data/tools/logilab/logilab/common/sphinxutils.py +122 -0
- data/tools/logilab/logilab/common/sqlgen.py +31 -0
- data/tools/logilab/logilab/common/table.py +930 -0
- data/tools/logilab/logilab/common/tasksqueue.py +97 -0
- data/tools/logilab/logilab/common/test/__init__.py +1 -0
- data/tools/logilab/logilab/common/test/data/ChangeLog +184 -0
- 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 +1 -0
- data/tools/logilab/logilab/common/test/data/content_differ_dir/NOTHING +0 -0
- data/tools/logilab/logilab/common/test/data/content_differ_dir/README +1 -0
- data/tools/logilab/logilab/common/test/data/content_differ_dir/subdir/coin +1 -0
- data/tools/logilab/logilab/common/test/data/content_differ_dir/subdir/toto.txt +53 -0
- data/tools/logilab/logilab/common/test/data/file_differ_dir/NOTHING +0 -0
- data/tools/logilab/logilab/common/test/data/file_differ_dir/README +1 -0
- data/tools/logilab/logilab/common/test/data/file_differ_dir/subdir/toto.txt +53 -0
- 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 +9 -0
- data/tools/logilab/logilab/common/test/data/module.py +88 -0
- data/tools/logilab/logilab/common/test/data/module2.py +77 -0
- data/tools/logilab/logilab/common/test/data/newlines.txt +3 -0
- data/tools/logilab/logilab/common/test/data/noendingnewline.py +36 -0
- data/tools/logilab/logilab/common/test/data/nonregr.py +14 -0
- 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 +1 -0
- data/tools/logilab/logilab/common/test/data/reference_dir/subdir/coin +1 -0
- data/tools/logilab/logilab/common/test/data/reference_dir/subdir/toto.txt +53 -0
- data/tools/logilab/logilab/common/test/data/same_dir/NOTHING +0 -0
- data/tools/logilab/logilab/common/test/data/same_dir/README +1 -0
- data/tools/logilab/logilab/common/test/data/same_dir/subdir/coin +1 -0
- data/tools/logilab/logilab/common/test/data/same_dir/subdir/toto.txt +53 -0
- data/tools/logilab/logilab/common/test/data/spam.txt +9 -0
- data/tools/logilab/logilab/common/test/data/sub/doc.txt +1 -0
- data/tools/logilab/logilab/common/test/data/sub/momo.py +1 -0
- data/tools/logilab/logilab/common/test/data/subdir_differ_dir/NOTHING +0 -0
- data/tools/logilab/logilab/common/test/data/subdir_differ_dir/README +1 -0
- data/tools/logilab/logilab/common/test/data/subdir_differ_dir/subdir/coin +1 -0
- data/tools/logilab/logilab/common/test/data/subdir_differ_dir/subdir/toto.txt +53 -0
- data/tools/logilab/logilab/common/test/data/test.ini +20 -0
- data/tools/logilab/logilab/common/test/data/test1.msg +30 -0
- data/tools/logilab/logilab/common/test/data/test2.msg +42 -0
- data/tools/logilab/logilab/common/test/data/write_protected_file.txt +0 -0
- data/tools/logilab/logilab/common/test/foomod.py +17 -0
- data/tools/logilab/logilab/common/test/unittest_cache.py +129 -0
- data/tools/logilab/logilab/common/test/unittest_changelog.py +37 -0
- data/tools/logilab/logilab/common/test/unittest_compat.py +239 -0
- data/tools/logilab/logilab/common/test/unittest_configuration.py +348 -0
- data/tools/logilab/logilab/common/test/unittest_date.py +154 -0
- data/tools/logilab/logilab/common/test/unittest_decorators.py +62 -0
- data/tools/logilab/logilab/common/test/unittest_deprecation.py +76 -0
- data/tools/logilab/logilab/common/test/unittest_fileutils.py +133 -0
- data/tools/logilab/logilab/common/test/unittest_graph.py +50 -0
- data/tools/logilab/logilab/common/test/unittest_html.py +76 -0
- data/tools/logilab/logilab/common/test/unittest_interface.py +87 -0
- data/tools/logilab/logilab/common/test/unittest_modutils.py +244 -0
- data/tools/logilab/logilab/common/test/unittest_pytest.py +50 -0
- data/tools/logilab/logilab/common/test/unittest_shellutils.py +248 -0
- data/tools/logilab/logilab/common/test/unittest_table.py +448 -0
- data/tools/logilab/logilab/common/test/unittest_taskqueue.py +71 -0
- data/tools/logilab/logilab/common/test/unittest_testlib.py +956 -0
- data/tools/logilab/logilab/common/test/unittest_textutils.py +247 -0
- data/tools/logilab/logilab/common/test/unittest_tree.py +248 -0
- data/tools/logilab/logilab/common/test/unittest_umessage.py +55 -0
- data/tools/logilab/logilab/common/test/unittest_ureports_html.py +64 -0
- data/tools/logilab/logilab/common/test/unittest_ureports_text.py +105 -0
- data/tools/logilab/logilab/common/test/unittest_xmlutils.py +75 -0
- data/tools/logilab/logilab/common/test/utils.py +87 -0
- data/tools/logilab/logilab/common/testlib.py +1927 -0
- data/tools/logilab/logilab/common/textutils.py +476 -0
- data/tools/logilab/logilab/common/tree.py +372 -0
- data/tools/logilab/logilab/common/umessage.py +161 -0
- data/tools/logilab/logilab/common/ureports/__init__.py +174 -0
- data/tools/logilab/logilab/common/ureports/docbook_writer.py +139 -0
- data/tools/logilab/logilab/common/ureports/html_writer.py +131 -0
- data/tools/logilab/logilab/common/ureports/nodes.py +201 -0
- data/tools/logilab/logilab/common/ureports/text_writer.py +140 -0
- data/tools/logilab/logilab/common/vcgutils.py +216 -0
- data/tools/logilab/logilab/common/visitor.py +107 -0
- data/tools/logilab/logilab/common/xmlrpcutils.py +136 -0
- data/tools/logilab/logilab/common/xmlutils.py +61 -0
- data/tools/pychecker/COPYRIGHT +31 -0
- data/tools/pychecker/ChangeLog +349 -0
- data/tools/pychecker/CodeChecks.py +1969 -0
- data/tools/pychecker/CodeChecks.pyc +0 -0
- data/tools/pychecker/CodeChecks.pyo +0 -0
- data/tools/pychecker/Config.py +475 -0
- data/tools/pychecker/Config.pyc +0 -0
- data/tools/pychecker/Config.pyo +0 -0
- data/tools/pychecker/KNOWN_BUGS +100 -0
- data/tools/pychecker/MAINTAINERS +81 -0
- data/tools/pychecker/NEWS +406 -0
- data/tools/pychecker/OP.py +131 -0
- data/tools/pychecker/OP.pyc +0 -0
- data/tools/pychecker/OP.pyo +0 -0
- data/tools/pychecker/OptionTypes.py +117 -0
- data/tools/pychecker/OptionTypes.pyc +0 -0
- data/tools/pychecker/OptionTypes.pyo +0 -0
- data/tools/pychecker/README +152 -0
- data/tools/pychecker/Stack.py +115 -0
- data/tools/pychecker/Stack.pyc +0 -0
- data/tools/pychecker/Stack.pyo +0 -0
- data/tools/pychecker/TODO +101 -0
- data/tools/pychecker/VERSION +1 -0
- data/tools/pychecker/Warning.py +50 -0
- data/tools/pychecker/Warning.pyc +0 -0
- data/tools/pychecker/Warning.pyo +0 -0
- data/tools/pychecker/__init__.py +17 -0
- data/tools/pychecker/__init__.pyc +0 -0
- data/tools/pychecker/__init__.pyo +0 -0
- data/tools/pychecker/checker.py +961 -0
- data/tools/pychecker/checker.pyc +0 -0
- data/tools/pychecker/checker.pyo +0 -0
- data/tools/pychecker/function.py +159 -0
- data/tools/pychecker/function.pyc +0 -0
- data/tools/pychecker/function.pyo +0 -0
- data/tools/pychecker/msgs.py +175 -0
- data/tools/pychecker/msgs.pyc +0 -0
- data/tools/pychecker/msgs.pyo +0 -0
- data/tools/pychecker/options.py +275 -0
- data/tools/pychecker/options.pyc +0 -0
- data/tools/pychecker/options.pyo +0 -0
- data/tools/pychecker/pcmodules.py +19 -0
- data/tools/pychecker/pcmodules.pyc +0 -0
- data/tools/pychecker/pcmodules.pyo +0 -0
- data/tools/pychecker/printer.py +47 -0
- data/tools/pychecker/printer.pyc +0 -0
- data/tools/pychecker/printer.pyo +0 -0
- data/tools/pychecker/python.py +427 -0
- data/tools/pychecker/python.pyc +0 -0
- data/tools/pychecker/python.pyo +0 -0
- data/tools/pychecker/utils.py +102 -0
- data/tools/pychecker/utils.pyc +0 -0
- data/tools/pychecker/utils.pyo +0 -0
- data/tools/pychecker/warn.py +778 -0
- data/tools/pychecker/warn.pyc +0 -0
- data/tools/pychecker/warn.pyo +0 -0
- data/tools/pylint2/pylint/__init__.py +16 -0
- data/tools/pylint2/pylint/__pkginfo__.py +67 -0
- data/tools/pylint2/pylint/checkers/__init__.py +155 -0
- data/tools/pylint2/pylint/checkers/base.py +749 -0
- data/tools/pylint2/pylint/checkers/classes.py +527 -0
- data/tools/pylint2/pylint/checkers/design_analysis.py +344 -0
- data/tools/pylint2/pylint/checkers/exceptions.py +183 -0
- data/tools/pylint2/pylint/checkers/format.py +367 -0
- data/tools/pylint2/pylint/checkers/imports.py +379 -0
- data/tools/pylint2/pylint/checkers/logging.py +98 -0
- data/tools/pylint2/pylint/checkers/misc.py +128 -0
- data/tools/pylint2/pylint/checkers/newstyle.py +107 -0
- data/tools/pylint2/pylint/checkers/raw_metrics.py +125 -0
- data/tools/pylint2/pylint/checkers/similar.py +333 -0
- data/tools/pylint2/pylint/checkers/string_format.py +239 -0
- data/tools/pylint2/pylint/checkers/typecheck.py +364 -0
- data/tools/pylint2/pylint/checkers/utils.py +208 -0
- data/tools/pylint2/pylint/checkers/variables.py +498 -0
- data/tools/pylint2/pylint/config.py +149 -0
- data/tools/pylint2/pylint/epylint.py +149 -0
- data/tools/pylint2/pylint/gui.py +433 -0
- data/tools/pylint2/pylint/interfaces.py +98 -0
- data/tools/pylint2/pylint/lint.py +914 -0
- data/tools/pylint2/pylint/pyreverse/__init__.py +5 -0
- data/tools/pylint2/pylint/pyreverse/diadefslib.py +229 -0
- data/tools/pylint2/pylint/pyreverse/diagrams.py +247 -0
- data/tools/pylint2/pylint/pyreverse/main.py +123 -0
- data/tools/pylint2/pylint/pyreverse/utils.py +131 -0
- data/tools/pylint2/pylint/pyreverse/writer.py +196 -0
- data/tools/pylint2/pylint/reporters/__init__.py +67 -0
- data/tools/pylint2/pylint/reporters/guireporter.py +36 -0
- data/tools/pylint2/pylint/reporters/html.py +69 -0
- data/tools/pylint2/pylint/reporters/text.py +156 -0
- data/tools/pylint2/pylint/utils.py +518 -0
- data/tools/pylint2/pylint.py +16 -0
- data/tools/test/suite.py +35 -0
- metadata +566 -0
data/egg/egg.yml
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
- build: egg
|
2
|
+
default: all
|
3
|
+
description: "Generate a Python egg project"
|
4
|
+
|
5
|
+
- properties:
|
6
|
+
name: MyPackage
|
7
|
+
description: |
|
8
|
+
This script will create a template Python egg project. Generated build
|
9
|
+
file provides targets 'check' to check Python scripts syntax, 'test' to
|
10
|
+
run unit test suite, 'egg' to create distribution archive and 'clean' to
|
11
|
+
delete generated files.
|
12
|
+
|
13
|
+
- target: welcome
|
14
|
+
description: "Print information message"
|
15
|
+
script:
|
16
|
+
- print: :description
|
17
|
+
|
18
|
+
- target: prompt
|
19
|
+
depends: welcome
|
20
|
+
description: "Prompt for project information"
|
21
|
+
script:
|
22
|
+
- print: "Please answer following questions to generate the project:"
|
23
|
+
- prompt:
|
24
|
+
message: "What is the project's name?"
|
25
|
+
default: :name
|
26
|
+
property: name
|
27
|
+
- rb: "pkg = name.downcase"
|
28
|
+
|
29
|
+
- target: generate
|
30
|
+
depends: prompt
|
31
|
+
description: "Generate project"
|
32
|
+
script:
|
33
|
+
- print: "Generating project..."
|
34
|
+
- rb: |
|
35
|
+
error "A directory named '#{name}' already exists, aborting" if
|
36
|
+
File.exists?("#{here}/#{name}")
|
37
|
+
- mkdir: "#{here}/#{name}"
|
38
|
+
- mkdir: "#{here}/#{name}/#{pkg}"
|
39
|
+
- mkdir: "#{here}/#{name}/test"
|
40
|
+
- erb:
|
41
|
+
src: "#{base}/egg/build.yml"
|
42
|
+
dest: "#{here}/#{name}/build.yml"
|
43
|
+
- erb:
|
44
|
+
src: "#{base}/egg/script.py"
|
45
|
+
dest: "#{here}/#{name}/#{pkg}/#{pkg}.py"
|
46
|
+
- erb:
|
47
|
+
src: "#{base}/egg/test.py"
|
48
|
+
dest: "#{here}/#{name}/test/test_#{pkg}.py"
|
49
|
+
- cp:
|
50
|
+
src: "#{base}/egg/setup.erb"
|
51
|
+
dest: "#{here}/#{name}/setup.erb"
|
52
|
+
- cp:
|
53
|
+
src: "#{base}/egg/ez_setup.py"
|
54
|
+
dest: "#{here}/#{name}/ez_setup.py"
|
55
|
+
- cp:
|
56
|
+
src: "#{base}/egg/suite.py"
|
57
|
+
dest: "#{here}/#{name}/test/suite.py"
|
58
|
+
|
59
|
+
- target: customization
|
60
|
+
depends: generate
|
61
|
+
description: "Print information about project customization"
|
62
|
+
script:
|
63
|
+
- print: |
|
64
|
+
Project has been generated in directory '#{name}'. Type 'bee -b' in
|
65
|
+
the project directory to print information about generated build file.
|
66
|
+
Enjoy!
|
67
|
+
|
68
|
+
- target: all
|
69
|
+
depends: [welcome, prompt, generate, customization]
|
data/egg/http/build.erb
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
# Build information
|
2
|
+
- build: <%= name %>
|
3
|
+
default: all
|
4
|
+
description: Build project <%= name.capitalize %>
|
5
|
+
|
6
|
+
# Build properties
|
7
|
+
- properties:
|
8
|
+
name: <%= name %>
|
9
|
+
build: build
|
10
|
+
script: "#{name}.py"
|
11
|
+
zip: "#{build}/#{name}.zip"
|
12
|
+
clean_dirs: :build
|
13
|
+
clean_files: "**/*.pyc"
|
14
|
+
|
15
|
+
# Build targets
|
16
|
+
- target: check
|
17
|
+
description: Check Python script syntax
|
18
|
+
script:
|
19
|
+
- python.pychecker:
|
20
|
+
src: .
|
21
|
+
|
22
|
+
- target: run
|
23
|
+
depends: check
|
24
|
+
description: Run server
|
25
|
+
script:
|
26
|
+
- python.python: :script
|
27
|
+
|
28
|
+
- target: client
|
29
|
+
description: Perform a client call
|
30
|
+
script:
|
31
|
+
- get:
|
32
|
+
url: http://localhost:8000
|
33
|
+
prop: body
|
34
|
+
- print: :body
|
35
|
+
|
36
|
+
- target: zip
|
37
|
+
depends: check
|
38
|
+
description: Generate distribution archive
|
39
|
+
script:
|
40
|
+
- mkdir: :build
|
41
|
+
- zip:
|
42
|
+
includes: "**/*"
|
43
|
+
excludes: ["#{build}*", "**/*.pyc"]
|
44
|
+
dest: :zip
|
45
|
+
|
46
|
+
- target: clean
|
47
|
+
description: Clean generated files
|
48
|
+
script:
|
49
|
+
- rmdir: :clean_dirs
|
50
|
+
- rm: :clean_files
|
51
|
+
|
52
|
+
- target: all
|
53
|
+
depends: [clean, check, zip]
|
data/egg/http/server.py
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# coding=utf-8
|
3
|
+
|
4
|
+
"""Multi-threaded HTTP server based on BaseHttpServer."""
|
5
|
+
|
6
|
+
import SocketServer
|
7
|
+
import BaseHTTPServer
|
8
|
+
|
9
|
+
HOST_NAME = "localhost"
|
10
|
+
PORT_NUMBER = 8000
|
11
|
+
|
12
|
+
class Handler(BaseHTTPServer.BaseHTTPRequestHandler):
|
13
|
+
"""Handler class for the HTTP server."""
|
14
|
+
|
15
|
+
def do_GET(self):
|
16
|
+
"""Respond to a GET request."""
|
17
|
+
self.send_response(200)
|
18
|
+
self.send_header("Content-type", "text/html")
|
19
|
+
self.end_headers()
|
20
|
+
self.wfile.write("<html><body><p>Hello World!</p></body></html>")
|
21
|
+
|
22
|
+
class ThreadedHTTPServer(SocketServer.ThreadingMixIn,
|
23
|
+
BaseHTTPServer.HTTPServer):
|
24
|
+
"""Handle requests in a separate thread."""
|
25
|
+
|
26
|
+
if __name__ == '__main__':
|
27
|
+
SERVER = ThreadedHTTPServer((HOST_NAME, PORT_NUMBER), Handler)
|
28
|
+
try:
|
29
|
+
print "Server started on port %s" % PORT_NUMBER
|
30
|
+
SERVER.serve_forever()
|
31
|
+
except KeyboardInterrupt:
|
32
|
+
SERVER.server_close()
|
33
|
+
print "Server stopped"
|
34
|
+
|
data/egg/http.yml
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
- build: http
|
2
|
+
default: all
|
3
|
+
description: "Generate a Python server project"
|
4
|
+
|
5
|
+
- properties:
|
6
|
+
name: test
|
7
|
+
description: |
|
8
|
+
This script will create a template project for a Python HTTP server.
|
9
|
+
Generated build file provides targets 'check' to check Python scripts
|
10
|
+
syntax, 'run' to start the server, 'zip' to create distribution archive
|
11
|
+
and 'clean' to delete generated files.
|
12
|
+
|
13
|
+
- target: welcome
|
14
|
+
description: "Print information message"
|
15
|
+
script:
|
16
|
+
- print: :description
|
17
|
+
|
18
|
+
- target: prompt
|
19
|
+
depends: welcome
|
20
|
+
description: "Prompt for project information"
|
21
|
+
script:
|
22
|
+
- print: "Please answer following questions to generate the project:"
|
23
|
+
- prompt:
|
24
|
+
message: "What is the project's name?"
|
25
|
+
default: :name
|
26
|
+
property: name
|
27
|
+
|
28
|
+
- target: generate
|
29
|
+
depends: prompt
|
30
|
+
description: "Generate project"
|
31
|
+
script:
|
32
|
+
- print: "Generating project..."
|
33
|
+
- rb: |
|
34
|
+
error "A directory named '#{name}' already exists, aborting" if
|
35
|
+
File.exists?("#{here}/#{name}")
|
36
|
+
- mkdir: "#{here}/#{name}"
|
37
|
+
- erb: { src: "#{base}/http/build.erb", dest: "#{here}/#{name}/build.yml" }
|
38
|
+
- cp: { src: "#{base}/http/server.py", dest: "#{here}/#{name}/#{name}.py" }
|
39
|
+
|
40
|
+
- target: customization
|
41
|
+
depends: generate
|
42
|
+
description: "Print information about project customization"
|
43
|
+
script:
|
44
|
+
- print: |
|
45
|
+
Project has been generated in directory '#{name}'. Type 'bee -b' in
|
46
|
+
the project directory to print information about generated build file.
|
47
|
+
Enjoy!
|
48
|
+
|
49
|
+
- target: all
|
50
|
+
depends: [welcome, prompt, generate, customization]
|
data/egg/mysql/mysql.py
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# coding=UTF-8
|
3
|
+
|
4
|
+
"""Sample MySQL script. To run this script, install MySQL Python extension.
|
5
|
+
If you run Ubuntu type 'sudo apt-get install mysql-python'. You can find
|
6
|
+
a short introduction to Python MySQL module in Paul Dubois' article at
|
7
|
+
http://www.kitebird.com/articles/pydbapi.html."""
|
8
|
+
|
9
|
+
import MySQLdb
|
10
|
+
|
11
|
+
HOST = 'localhost'
|
12
|
+
USER = 'test'
|
13
|
+
PASSWORD = 'test'
|
14
|
+
DATABASE = 'test'
|
15
|
+
QUERY = 'SHOW DATABASES'
|
16
|
+
|
17
|
+
def run_query():
|
18
|
+
"""Run a given query and return result as a tuple of tuples."""
|
19
|
+
cursor = None
|
20
|
+
connection = None
|
21
|
+
try:
|
22
|
+
connection = MySQLdb.connect(host = HOST,
|
23
|
+
user = USER,
|
24
|
+
passwd = PASSWORD,
|
25
|
+
db = DATABASE)
|
26
|
+
cursor = connection.cursor(MySQLdb.cursors.DictCursor)
|
27
|
+
cursor.execute(QUERY)
|
28
|
+
return cursor.fetchall()
|
29
|
+
finally:
|
30
|
+
if cursor:
|
31
|
+
cursor.close()
|
32
|
+
if connection:
|
33
|
+
connection.close()
|
34
|
+
|
35
|
+
def main():
|
36
|
+
"""Main function."""
|
37
|
+
result = run_query()
|
38
|
+
for line in result:
|
39
|
+
print line
|
40
|
+
|
41
|
+
if __name__ == '__main__':
|
42
|
+
main()
|
43
|
+
|
data/egg/mysql.yml
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
- build: mysql
|
2
|
+
default: all
|
3
|
+
description: "Generate a Python MySQL script"
|
4
|
+
|
5
|
+
- properties:
|
6
|
+
name: mysql.py
|
7
|
+
description: |
|
8
|
+
This script will create a Python MySQL script.
|
9
|
+
|
10
|
+
- target: welcome
|
11
|
+
description: "Print information message"
|
12
|
+
script:
|
13
|
+
- print: :description
|
14
|
+
|
15
|
+
- target: prompt
|
16
|
+
depends: welcome
|
17
|
+
description: "Prompt for project information"
|
18
|
+
script:
|
19
|
+
- print: "Please answer following questions to generate the project:"
|
20
|
+
- prompt:
|
21
|
+
message: "What is the source file name?"
|
22
|
+
default: :name
|
23
|
+
property: name
|
24
|
+
|
25
|
+
- target: generate
|
26
|
+
depends: prompt
|
27
|
+
description: "Generate source"
|
28
|
+
script:
|
29
|
+
- print: "Generating source..."
|
30
|
+
- rb: |
|
31
|
+
error "A file named '#{name}' already exists, aborting" if
|
32
|
+
File.exists?("#{here}/#{name}")
|
33
|
+
- cp: { src: "#{base}/mysql/mysql.py", dest: "#{here}/#{name}" }
|
34
|
+
|
35
|
+
- target: customization
|
36
|
+
depends: generate
|
37
|
+
description: "Print information about project customization"
|
38
|
+
script:
|
39
|
+
- print: |
|
40
|
+
Source file has been generated in file '#{name}'.
|
41
|
+
Enjoy!
|
42
|
+
|
43
|
+
- target: all
|
44
|
+
depends: [welcome, prompt, generate, customization]
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# Build information
|
2
|
+
- build: <%= name %>
|
3
|
+
default: all
|
4
|
+
description: Build project <%= name.capitalize %>
|
5
|
+
|
6
|
+
# Build properties
|
7
|
+
- properties:
|
8
|
+
name: <%= name %>
|
9
|
+
build: build
|
10
|
+
lib: "lib"
|
11
|
+
tst: "test"
|
12
|
+
coverage: "#{build}/coverage"
|
13
|
+
data: "#{build}/.coverage"
|
14
|
+
doc: "#{build}/doc"
|
15
|
+
zip: "#{build}/#{name}.zip"
|
16
|
+
clean_dirs: :build
|
17
|
+
clean_files: "**/*.pyc"
|
18
|
+
|
19
|
+
# Build targets
|
20
|
+
- target: check
|
21
|
+
description: Check Python script syntax
|
22
|
+
script:
|
23
|
+
- python.pychecker:
|
24
|
+
src: [:lib, :tst]
|
25
|
+
|
26
|
+
- target: test
|
27
|
+
description: Run unit tests
|
28
|
+
script:
|
29
|
+
- python.test: "#{tst}/test*.py"
|
30
|
+
|
31
|
+
- target: coverage
|
32
|
+
description: Generate test coverage documentation
|
33
|
+
script:
|
34
|
+
- mkdir: :coverage
|
35
|
+
- python.coverage:
|
36
|
+
src: :lib
|
37
|
+
test: "#{tst}/test*.py"
|
38
|
+
dir: :tst
|
39
|
+
dest: :coverage
|
40
|
+
data: :data
|
41
|
+
|
42
|
+
- target: doc
|
43
|
+
description: Generate documentation
|
44
|
+
script:
|
45
|
+
- python.epydoc:
|
46
|
+
src: :lib
|
47
|
+
dest: :doc
|
48
|
+
|
49
|
+
- target: zip
|
50
|
+
depends: [check, coverage, doc]
|
51
|
+
description: Generate distribution archive
|
52
|
+
script:
|
53
|
+
- mkdir: :build
|
54
|
+
- zip:
|
55
|
+
includes: "**/*"
|
56
|
+
excludes: ["#{build}/**/*", "**/*.pyc"]
|
57
|
+
dest: :zip
|
58
|
+
- zip:
|
59
|
+
root: :doc
|
60
|
+
includes: "**/*"
|
61
|
+
prefix: "doc"
|
62
|
+
dest: :zip
|
63
|
+
- zip:
|
64
|
+
root: :coverage
|
65
|
+
includes: "**/*"
|
66
|
+
prefix: "coverage"
|
67
|
+
dest: :zip
|
68
|
+
|
69
|
+
- target: clean
|
70
|
+
description: Clean generated files
|
71
|
+
script:
|
72
|
+
- rmdir: :clean_dirs
|
73
|
+
- rm: :clean_files
|
74
|
+
|
75
|
+
- target: all
|
76
|
+
depends: [clean, check, zip]
|
77
|
+
|
@@ -0,0 +1,42 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# coding=UTF-8
|
3
|
+
|
4
|
+
"""Sample Hello World Python script."""
|
5
|
+
|
6
|
+
import sys
|
7
|
+
import getopt
|
8
|
+
|
9
|
+
# Command line help
|
10
|
+
HELP = """Usage: %s [-h] [-w who]
|
11
|
+
Say hello:
|
12
|
+
-h Print this help page.
|
13
|
+
-w Who to say hello to.""" % sys.argv[0]
|
14
|
+
|
15
|
+
def say_hello(person):
|
16
|
+
"""Say hello.
|
17
|
+
- person: who to say hello to."""
|
18
|
+
return "Hello %s!" % person
|
19
|
+
|
20
|
+
# parse command line
|
21
|
+
if __name__ == '__main__':
|
22
|
+
who = "World"
|
23
|
+
try:
|
24
|
+
OPTS, ARGS = getopt.getopt(sys.argv[1:],
|
25
|
+
"hw:",
|
26
|
+
["help", "who"])
|
27
|
+
except getopt.GetoptError, error:
|
28
|
+
print "ERROR: %s" % str(error)
|
29
|
+
print HELP
|
30
|
+
sys.exit(1)
|
31
|
+
for OPT, ARG in OPTS:
|
32
|
+
if OPT == "-h":
|
33
|
+
print HELP
|
34
|
+
sys.exit(0)
|
35
|
+
elif OPT == "-w":
|
36
|
+
who = ARG
|
37
|
+
else:
|
38
|
+
print "Unhandled option: %s" % OPT
|
39
|
+
print HELP
|
40
|
+
sys.exit(1)
|
41
|
+
print say_hello(who)
|
42
|
+
|
data/egg/project/test.py
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# coding=UTF-8
|
3
|
+
|
4
|
+
"""Sample Python unit test."""
|
5
|
+
|
6
|
+
import os
|
7
|
+
import sys
|
8
|
+
import inspect
|
9
|
+
test_dir = os.path.dirname(inspect.currentframe().f_code.co_filename)
|
10
|
+
src_dir = os.path.join(test_dir, '../lib')
|
11
|
+
sys.path.insert(0, src_dir)
|
12
|
+
import <%= name %>
|
13
|
+
import unittest
|
14
|
+
|
15
|
+
class Test(unittest.TestCase):
|
16
|
+
"""Test class."""
|
17
|
+
|
18
|
+
def setUp(self):
|
19
|
+
"""Setup test. Runs before each test."""
|
20
|
+
pass
|
21
|
+
|
22
|
+
def test_say_hello(self):
|
23
|
+
"""Test say_hello() function."""
|
24
|
+
actual = <%= name %>.say_hello("World")
|
25
|
+
expected = "Hello World!"
|
26
|
+
self.assertEquals(expected, actual)
|
27
|
+
|
28
|
+
# Run unit tests when started on command line
|
29
|
+
if __name__ == '__main__':
|
30
|
+
unittest.main()
|
31
|
+
|
data/egg/project.yml
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
- build: project
|
2
|
+
default: all
|
3
|
+
description: "Generate a Python project"
|
4
|
+
|
5
|
+
- properties:
|
6
|
+
name: test
|
7
|
+
description: |
|
8
|
+
This script will create a template Python project. Generated build file
|
9
|
+
provides targets 'check' to check Python scripts syntax, 'test' to run
|
10
|
+
unit test suite, 'zip' to create distribution archive and 'clean' to
|
11
|
+
delete generated files.
|
12
|
+
|
13
|
+
- target: welcome
|
14
|
+
description: "Print information message"
|
15
|
+
script:
|
16
|
+
- print: :description
|
17
|
+
|
18
|
+
- target: prompt
|
19
|
+
depends: welcome
|
20
|
+
description: "Prompt for project information"
|
21
|
+
script:
|
22
|
+
- print: "Please answer following questions to generate the project:"
|
23
|
+
- prompt:
|
24
|
+
message: "What is the project's name?"
|
25
|
+
default: :name
|
26
|
+
property: name
|
27
|
+
|
28
|
+
- target: generate
|
29
|
+
depends: prompt
|
30
|
+
description: "Generate project"
|
31
|
+
script:
|
32
|
+
- print: "Generating project..."
|
33
|
+
- rb: |
|
34
|
+
error "A directory named '#{name}' already exists, aborting" if
|
35
|
+
File.exists?("#{here}/#{name}")
|
36
|
+
- mkdir: "#{here}/#{name}"
|
37
|
+
- mkdir: "#{here}/#{name}/lib"
|
38
|
+
- mkdir: "#{here}/#{name}/test"
|
39
|
+
- erb:
|
40
|
+
src: "#{base}/project/build.erb"
|
41
|
+
dest: "#{here}/#{name}/build.yml"
|
42
|
+
- erb:
|
43
|
+
src: "#{base}/project/script.py"
|
44
|
+
dest: "#{here}/#{name}/lib/#{name}.py"
|
45
|
+
- erb:
|
46
|
+
src: "#{base}/project/test.py"
|
47
|
+
dest: "#{here}/#{name}/test/test_#{name}.py"
|
48
|
+
|
49
|
+
- target: customization
|
50
|
+
depends: generate
|
51
|
+
description: "Print information about project customization"
|
52
|
+
script:
|
53
|
+
- print: |
|
54
|
+
Project has been generated in directory '#{name}'. Type 'bee -b' in
|
55
|
+
the project directory to print information about generated build file.
|
56
|
+
Enjoy!
|
57
|
+
|
58
|
+
- target: all
|
59
|
+
depends: [welcome, prompt, generate, customization]
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# Build information
|
2
|
+
- build: <%= name %>
|
3
|
+
default: all
|
4
|
+
description: Build project <%= name.capitalize %>
|
5
|
+
|
6
|
+
# Build properties
|
7
|
+
- properties:
|
8
|
+
name: <%= name %>
|
9
|
+
build: build
|
10
|
+
script: "#{name}.py"
|
11
|
+
zip: "#{build}/#{name}.zip"
|
12
|
+
clean_dirs: :build
|
13
|
+
clean_files: "**/*.pyc"
|
14
|
+
|
15
|
+
# Build targets
|
16
|
+
- target: check
|
17
|
+
description: Check Python script syntax
|
18
|
+
script:
|
19
|
+
- python.compile: "#{script}"
|
20
|
+
|
21
|
+
- target: zip
|
22
|
+
depends: check
|
23
|
+
description: Generate distribution archive
|
24
|
+
script:
|
25
|
+
- mkdir: :build
|
26
|
+
- zip: { includes: "**/*", excludes: ["#{build}*", "**/*.pyc"], dest: :zip }
|
27
|
+
|
28
|
+
- target: clean
|
29
|
+
description: Clean generated files
|
30
|
+
script:
|
31
|
+
- rmdir: :clean_dirs
|
32
|
+
- rm: :clean_files
|
33
|
+
|
34
|
+
- target: all
|
35
|
+
depends: [clean, check, zip]
|
@@ -0,0 +1,42 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# coding=UTF-8
|
3
|
+
|
4
|
+
"""Sample Hello World Python script."""
|
5
|
+
|
6
|
+
import sys
|
7
|
+
import getopt
|
8
|
+
|
9
|
+
# Command line help
|
10
|
+
HELP = """Usage: %s [-h] [-w who]
|
11
|
+
Say hello:
|
12
|
+
-h Print this help page.
|
13
|
+
-w Who to say hello to.""" % sys.argv[0]
|
14
|
+
|
15
|
+
def say_hello(person):
|
16
|
+
"""Say hello.
|
17
|
+
- person: who to say hello to."""
|
18
|
+
print "Hello %s!" % person
|
19
|
+
|
20
|
+
# parse command line
|
21
|
+
if __name__ == '__main__':
|
22
|
+
who = "World"
|
23
|
+
try:
|
24
|
+
OPTS, ARGS = getopt.getopt(sys.argv[1:],
|
25
|
+
"hw:",
|
26
|
+
["help", "who"])
|
27
|
+
except getopt.GetoptError, error:
|
28
|
+
print "ERROR: %s" % str(error)
|
29
|
+
print HELP
|
30
|
+
sys.exit(1)
|
31
|
+
for OPT, ARG in OPTS:
|
32
|
+
if OPT == "-h":
|
33
|
+
print HELP
|
34
|
+
sys.exit(0)
|
35
|
+
elif OPT == "-w":
|
36
|
+
who = ARG
|
37
|
+
else:
|
38
|
+
print "Unhandled option: %s" % OPT
|
39
|
+
print HELP
|
40
|
+
sys.exit(1)
|
41
|
+
say_hello(who)
|
42
|
+
|
data/egg/script.yml
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
- build: script
|
2
|
+
default: all
|
3
|
+
description: "Generate a Python script project"
|
4
|
+
|
5
|
+
- properties:
|
6
|
+
name: test
|
7
|
+
description: |
|
8
|
+
This script will create a template project for a Python script. Generated
|
9
|
+
build file provides targets 'check' to check Python scripts syntax,
|
10
|
+
'zip' to create distribution archive and 'clean' to delete generated
|
11
|
+
files.
|
12
|
+
|
13
|
+
- target: welcome
|
14
|
+
description: "Print information message"
|
15
|
+
script:
|
16
|
+
- print: :description
|
17
|
+
|
18
|
+
- target: prompt
|
19
|
+
depends: welcome
|
20
|
+
description: "Prompt for project information"
|
21
|
+
script:
|
22
|
+
- print: "Please answer following questions to generate the project:"
|
23
|
+
- prompt:
|
24
|
+
message: "What is the project's name?"
|
25
|
+
default: :name
|
26
|
+
property: name
|
27
|
+
|
28
|
+
- target: generate
|
29
|
+
depends: prompt
|
30
|
+
description: "Generate project"
|
31
|
+
script:
|
32
|
+
- print: "Generating project..."
|
33
|
+
- rb: |
|
34
|
+
error "A directory named '#{name}' already exists, aborting" if
|
35
|
+
File.exists?("#{here}/#{name}")
|
36
|
+
- mkdir: "#{here}/#{name}"
|
37
|
+
- erb: { src: "#{base}/script/build.erb", dest: "#{here}/#{name}/build.yml" }
|
38
|
+
- cp: { src: "#{base}/script/script.py", dest: "#{here}/#{name}/#{name}.py" }
|
39
|
+
|
40
|
+
- target: customization
|
41
|
+
depends: generate
|
42
|
+
description: "Print information about project customization"
|
43
|
+
script:
|
44
|
+
- print: |
|
45
|
+
Project has been generated in directory '#{name}'. Type 'bee -b' in
|
46
|
+
the project directory to print information about generated build file.
|
47
|
+
Enjoy!
|
48
|
+
|
49
|
+
- target: all
|
50
|
+
depends: [welcome, prompt, generate, customization]
|
data/egg/soap/build.erb
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
# Build information
|
2
|
+
- build: <%= name %>
|
3
|
+
default: all
|
4
|
+
description: Build project <%= name.capitalize %>
|
5
|
+
|
6
|
+
# Build properties
|
7
|
+
- properties:
|
8
|
+
name: <%= name %>
|
9
|
+
version: "0.0.0"
|
10
|
+
build: "build"
|
11
|
+
server: "server.py"
|
12
|
+
client: "client.py"
|
13
|
+
zip: "#{build}/#{name}-#{version}.zip"
|
14
|
+
clean_dirs: :build
|
15
|
+
clean_files: "**/*.pyc"
|
16
|
+
|
17
|
+
# Build targets
|
18
|
+
- target: check
|
19
|
+
description: Check Python script syntax
|
20
|
+
script:
|
21
|
+
- python.pychecker:
|
22
|
+
src: "."
|
23
|
+
lenient: true
|
24
|
+
|
25
|
+
- target: server
|
26
|
+
description: Run server
|
27
|
+
script:
|
28
|
+
- python.python: :server
|
29
|
+
|
30
|
+
- target: client
|
31
|
+
description: Run client
|
32
|
+
script:
|
33
|
+
- python.python: :client
|
34
|
+
|
35
|
+
- target: zip
|
36
|
+
depends: check
|
37
|
+
description: Generate distribution archive
|
38
|
+
script:
|
39
|
+
- mkdir: :build
|
40
|
+
- zip:
|
41
|
+
includes: "**/*"
|
42
|
+
excludes: ["#{build}/**/*", "**/*.pyc"]
|
43
|
+
dest: :zip
|
44
|
+
|
45
|
+
- target: clean
|
46
|
+
description: Clean generated files
|
47
|
+
script:
|
48
|
+
- rmdir: :clean_dirs
|
49
|
+
- rm: :clean_files
|
50
|
+
|
51
|
+
- target: all
|
52
|
+
depends: [clean, check, zip]
|