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.
Files changed (488) hide show
  1. data/{build/README → README} +1 -1
  2. data/egg/egg/build.yml +11 -49
  3. data/egg/egg.yml +19 -27
  4. data/egg/http/build.erb +32 -36
  5. data/egg/http/libhttp.py +102 -0
  6. data/egg/http/pylint.cfg +236 -0
  7. data/egg/http/server.py +7 -0
  8. data/egg/http/test.erb +32 -0
  9. data/egg/http.yml +33 -29
  10. data/egg/mysql/mysql.py +8 -9
  11. data/egg/project/build.erb +21 -53
  12. data/egg/project/pylint.cfg +236 -0
  13. data/egg/project/test.py +2 -2
  14. data/egg/project.yml +23 -31
  15. data/egg/script/build.erb +18 -23
  16. data/egg/script/pylint.cfg +236 -0
  17. data/egg/script.yml +22 -18
  18. data/egg/source/source.py +6 -6
  19. data/egg/test/test.py +1 -1
  20. data/lib/bee_task_python.rb +3 -34
  21. data/python.yml +123 -0
  22. metadata +61 -503
  23. data/test/build.yml +0 -16
  24. data/test/tc_bee_task_python.rb +0 -27
  25. data/test/test_build.rb +0 -26
  26. data/test/test_build_listener.rb +0 -110
  27. data/test/ts_bee_python.rb +0 -26
  28. data/tools/common/__init__.py +0 -5
  29. data/tools/common/common/__init__.py +0 -140
  30. data/tools/common/common/__pkginfo__.py +0 -43
  31. data/tools/common/common/adbh.py +0 -35
  32. data/tools/common/common/cache.py +0 -114
  33. data/tools/common/common/changelog.py +0 -234
  34. data/tools/common/common/clcommands.py +0 -181
  35. data/tools/common/common/cli.py +0 -212
  36. data/tools/common/common/compat.py +0 -328
  37. data/tools/common/common/configuration.py +0 -1087
  38. data/tools/common/common/contexts.py +0 -58
  39. data/tools/common/common/corbautils.py +0 -117
  40. data/tools/common/common/daemon.py +0 -171
  41. data/tools/common/common/date.py +0 -279
  42. data/tools/common/common/db.py +0 -49
  43. data/tools/common/common/dbf.py +0 -229
  44. data/tools/common/common/debugger.py +0 -208
  45. data/tools/common/common/decorators.py +0 -190
  46. data/tools/common/common/deprecation.py +0 -118
  47. data/tools/common/common/fileutils.py +0 -409
  48. data/tools/common/common/graph.py +0 -259
  49. data/tools/common/common/html.py +0 -142
  50. data/tools/common/common/interface.py +0 -76
  51. data/tools/common/common/logging_ext.py +0 -166
  52. data/tools/common/common/modutils.py +0 -670
  53. data/tools/common/common/optik_ext.py +0 -383
  54. data/tools/common/common/optparser.py +0 -92
  55. data/tools/common/common/pdf_ext.py +0 -111
  56. data/tools/common/common/proc.py +0 -276
  57. data/tools/common/common/pyro_ext.py +0 -146
  58. data/tools/common/common/pytest.py +0 -754
  59. data/tools/common/common/shellutils.py +0 -383
  60. data/tools/common/common/sphinx_ext.py +0 -87
  61. data/tools/common/common/sphinxutils.py +0 -122
  62. data/tools/common/common/sqlgen.py +0 -31
  63. data/tools/common/common/table.py +0 -930
  64. data/tools/common/common/tasksqueue.py +0 -97
  65. data/tools/common/common/test/__init__.py +0 -1
  66. data/tools/common/common/test/data/ChangeLog +0 -184
  67. data/tools/common/common/test/data/MyPyPa-0.1.0-py2.5.egg +0 -0
  68. data/tools/common/common/test/data/__init__.py +0 -1
  69. data/tools/common/common/test/data/content_differ_dir/NOTHING +0 -0
  70. data/tools/common/common/test/data/content_differ_dir/README +0 -1
  71. data/tools/common/common/test/data/content_differ_dir/subdir/coin +0 -1
  72. data/tools/common/common/test/data/content_differ_dir/subdir/toto.txt +0 -53
  73. data/tools/common/common/test/data/file_differ_dir/NOTHING +0 -0
  74. data/tools/common/common/test/data/file_differ_dir/README +0 -1
  75. data/tools/common/common/test/data/file_differ_dir/subdir/toto.txt +0 -53
  76. data/tools/common/common/test/data/file_differ_dir/subdirtwo/Hello +0 -0
  77. data/tools/common/common/test/data/find_test/__init__.py +0 -0
  78. data/tools/common/common/test/data/find_test/foo.txt +0 -0
  79. data/tools/common/common/test/data/find_test/module.py +0 -0
  80. data/tools/common/common/test/data/find_test/module2.py +0 -0
  81. data/tools/common/common/test/data/find_test/newlines.txt +0 -0
  82. data/tools/common/common/test/data/find_test/noendingnewline.py +0 -0
  83. data/tools/common/common/test/data/find_test/nonregr.py +0 -0
  84. data/tools/common/common/test/data/find_test/normal_file.txt +0 -0
  85. data/tools/common/common/test/data/find_test/spam.txt +0 -0
  86. data/tools/common/common/test/data/find_test/sub/doc.txt +0 -0
  87. data/tools/common/common/test/data/find_test/sub/momo.py +0 -0
  88. data/tools/common/common/test/data/find_test/test.ini +0 -0
  89. data/tools/common/common/test/data/find_test/test1.msg +0 -0
  90. data/tools/common/common/test/data/find_test/test2.msg +0 -0
  91. data/tools/common/common/test/data/find_test/write_protected_file.txt +0 -0
  92. data/tools/common/common/test/data/foo.txt +0 -9
  93. data/tools/common/common/test/data/module.py +0 -88
  94. data/tools/common/common/test/data/module2.py +0 -77
  95. data/tools/common/common/test/data/newlines.txt +0 -3
  96. data/tools/common/common/test/data/noendingnewline.py +0 -36
  97. data/tools/common/common/test/data/nonregr.py +0 -14
  98. data/tools/common/common/test/data/normal_file.txt +0 -0
  99. data/tools/common/common/test/data/reference_dir/NOTHING +0 -0
  100. data/tools/common/common/test/data/reference_dir/README +0 -1
  101. data/tools/common/common/test/data/reference_dir/subdir/coin +0 -1
  102. data/tools/common/common/test/data/reference_dir/subdir/toto.txt +0 -53
  103. data/tools/common/common/test/data/same_dir/NOTHING +0 -0
  104. data/tools/common/common/test/data/same_dir/README +0 -1
  105. data/tools/common/common/test/data/same_dir/subdir/coin +0 -1
  106. data/tools/common/common/test/data/same_dir/subdir/toto.txt +0 -53
  107. data/tools/common/common/test/data/spam.txt +0 -9
  108. data/tools/common/common/test/data/sub/doc.txt +0 -1
  109. data/tools/common/common/test/data/sub/momo.py +0 -1
  110. data/tools/common/common/test/data/subdir_differ_dir/NOTHING +0 -0
  111. data/tools/common/common/test/data/subdir_differ_dir/README +0 -1
  112. data/tools/common/common/test/data/subdir_differ_dir/subdir/coin +0 -1
  113. data/tools/common/common/test/data/subdir_differ_dir/subdir/toto.txt +0 -53
  114. data/tools/common/common/test/data/test.ini +0 -20
  115. data/tools/common/common/test/data/test1.msg +0 -30
  116. data/tools/common/common/test/data/test2.msg +0 -42
  117. data/tools/common/common/test/data/write_protected_file.txt +0 -0
  118. data/tools/common/common/test/foomod.py +0 -17
  119. data/tools/common/common/test/unittest_cache.py +0 -129
  120. data/tools/common/common/test/unittest_changelog.py +0 -37
  121. data/tools/common/common/test/unittest_compat.py +0 -239
  122. data/tools/common/common/test/unittest_configuration.py +0 -348
  123. data/tools/common/common/test/unittest_date.py +0 -154
  124. data/tools/common/common/test/unittest_decorators.py +0 -62
  125. data/tools/common/common/test/unittest_deprecation.py +0 -76
  126. data/tools/common/common/test/unittest_fileutils.py +0 -133
  127. data/tools/common/common/test/unittest_graph.py +0 -50
  128. data/tools/common/common/test/unittest_html.py +0 -76
  129. data/tools/common/common/test/unittest_interface.py +0 -87
  130. data/tools/common/common/test/unittest_modutils.py +0 -244
  131. data/tools/common/common/test/unittest_pytest.py +0 -50
  132. data/tools/common/common/test/unittest_shellutils.py +0 -248
  133. data/tools/common/common/test/unittest_table.py +0 -448
  134. data/tools/common/common/test/unittest_taskqueue.py +0 -71
  135. data/tools/common/common/test/unittest_testlib.py +0 -956
  136. data/tools/common/common/test/unittest_textutils.py +0 -247
  137. data/tools/common/common/test/unittest_tree.py +0 -248
  138. data/tools/common/common/test/unittest_umessage.py +0 -55
  139. data/tools/common/common/test/unittest_ureports_html.py +0 -64
  140. data/tools/common/common/test/unittest_ureports_text.py +0 -105
  141. data/tools/common/common/test/unittest_xmlutils.py +0 -75
  142. data/tools/common/common/test/utils.py +0 -87
  143. data/tools/common/common/testlib.py +0 -1927
  144. data/tools/common/common/textutils.py +0 -476
  145. data/tools/common/common/tree.py +0 -372
  146. data/tools/common/common/umessage.py +0 -161
  147. data/tools/common/common/ureports/__init__.py +0 -174
  148. data/tools/common/common/ureports/docbook_writer.py +0 -139
  149. data/tools/common/common/ureports/html_writer.py +0 -131
  150. data/tools/common/common/ureports/nodes.py +0 -201
  151. data/tools/common/common/ureports/text_writer.py +0 -140
  152. data/tools/common/common/vcgutils.py +0 -216
  153. data/tools/common/common/visitor.py +0 -107
  154. data/tools/common/common/xmlrpcutils.py +0 -136
  155. data/tools/common/common/xmlutils.py +0 -61
  156. data/tools/coverage/coverage.py +0 -602
  157. data/tools/epydoc/__init__.py +0 -227
  158. data/tools/epydoc/__init__.pyc +0 -0
  159. data/tools/epydoc/apidoc.py +0 -2203
  160. data/tools/epydoc/apidoc.pyc +0 -0
  161. data/tools/epydoc/checker.py +0 -349
  162. data/tools/epydoc/checker.pyc +0 -0
  163. data/tools/epydoc/cli.py +0 -1470
  164. data/tools/epydoc/cli.pyc +0 -0
  165. data/tools/epydoc/compat.py +0 -250
  166. data/tools/epydoc/compat.pyc +0 -0
  167. data/tools/epydoc/docbuilder.py +0 -1358
  168. data/tools/epydoc/docbuilder.pyc +0 -0
  169. data/tools/epydoc/docintrospecter.py +0 -1056
  170. data/tools/epydoc/docintrospecter.pyc +0 -0
  171. data/tools/epydoc/docparser.py +0 -2113
  172. data/tools/epydoc/docparser.pyc +0 -0
  173. data/tools/epydoc/docstringparser.py +0 -1111
  174. data/tools/epydoc/docstringparser.pyc +0 -0
  175. data/tools/epydoc/docwriter/__init__.py +0 -12
  176. data/tools/epydoc/docwriter/__init__.pyc +0 -0
  177. data/tools/epydoc/docwriter/dotgraph.py +0 -1351
  178. data/tools/epydoc/docwriter/dotgraph.pyc +0 -0
  179. data/tools/epydoc/docwriter/html.py +0 -3491
  180. data/tools/epydoc/docwriter/html.pyc +0 -0
  181. data/tools/epydoc/docwriter/html_colorize.py +0 -909
  182. data/tools/epydoc/docwriter/html_colorize.pyc +0 -0
  183. data/tools/epydoc/docwriter/html_css.py +0 -550
  184. data/tools/epydoc/docwriter/html_css.pyc +0 -0
  185. data/tools/epydoc/docwriter/html_help.py +0 -190
  186. data/tools/epydoc/docwriter/html_help.pyc +0 -0
  187. data/tools/epydoc/docwriter/latex.py +0 -1187
  188. data/tools/epydoc/docwriter/latex.pyc +0 -0
  189. data/tools/epydoc/docwriter/plaintext.py +0 -276
  190. data/tools/epydoc/docwriter/plaintext.pyc +0 -0
  191. data/tools/epydoc/docwriter/xlink.py +0 -505
  192. data/tools/epydoc/docwriter/xlink.pyc +0 -0
  193. data/tools/epydoc/gui.py +0 -1148
  194. data/tools/epydoc/gui.pyc +0 -0
  195. data/tools/epydoc/log.py +0 -204
  196. data/tools/epydoc/log.pyc +0 -0
  197. data/tools/epydoc/markup/__init__.py +0 -623
  198. data/tools/epydoc/markup/__init__.pyc +0 -0
  199. data/tools/epydoc/markup/doctest.py +0 -311
  200. data/tools/epydoc/markup/doctest.pyc +0 -0
  201. data/tools/epydoc/markup/epytext.py +0 -2116
  202. data/tools/epydoc/markup/epytext.pyc +0 -0
  203. data/tools/epydoc/markup/javadoc.py +0 -250
  204. data/tools/epydoc/markup/javadoc.pyc +0 -0
  205. data/tools/epydoc/markup/plaintext.py +0 -78
  206. data/tools/epydoc/markup/plaintext.pyc +0 -0
  207. data/tools/epydoc/markup/pyval_repr.py +0 -532
  208. data/tools/epydoc/markup/pyval_repr.pyc +0 -0
  209. data/tools/epydoc/markup/restructuredtext.py +0 -906
  210. data/tools/epydoc/markup/restructuredtext.pyc +0 -0
  211. data/tools/epydoc/test/__init__.py +0 -97
  212. data/tools/epydoc/test/__init__.pyc +0 -0
  213. data/tools/epydoc/test/util.py +0 -226
  214. data/tools/epydoc/test/util.pyc +0 -0
  215. data/tools/epydoc/util.py +0 -289
  216. data/tools/epydoc/util.pyc +0 -0
  217. data/tools/logilab/logilab/__init__.py +0 -5
  218. data/tools/logilab/logilab/astng/__init__.py +0 -82
  219. data/tools/logilab/logilab/astng/__pkginfo__.py +0 -76
  220. data/tools/logilab/logilab/astng/_exceptions.py +0 -64
  221. data/tools/logilab/logilab/astng/_nodes_ast.py +0 -667
  222. data/tools/logilab/logilab/astng/_nodes_compiler.py +0 -758
  223. data/tools/logilab/logilab/astng/bases.py +0 -608
  224. data/tools/logilab/logilab/astng/builder.py +0 -239
  225. data/tools/logilab/logilab/astng/inference.py +0 -426
  226. data/tools/logilab/logilab/astng/inspector.py +0 -289
  227. data/tools/logilab/logilab/astng/manager.py +0 -421
  228. data/tools/logilab/logilab/astng/mixins.py +0 -165
  229. data/tools/logilab/logilab/astng/node_classes.py +0 -848
  230. data/tools/logilab/logilab/astng/nodes.py +0 -85
  231. data/tools/logilab/logilab/astng/nodes_as_string.py +0 -389
  232. data/tools/logilab/logilab/astng/patchcomptransformer.py +0 -159
  233. data/tools/logilab/logilab/astng/protocols.py +0 -333
  234. data/tools/logilab/logilab/astng/raw_building.py +0 -212
  235. data/tools/logilab/logilab/astng/rebuilder.py +0 -307
  236. data/tools/logilab/logilab/astng/scoped_nodes.py +0 -951
  237. data/tools/logilab/logilab/astng/test/__init__.py +0 -19
  238. data/tools/logilab/logilab/astng/test/data/MyPyPa-0.1.0-py2.5.egg +0 -0
  239. data/tools/logilab/logilab/astng/test/data/MyPyPa-0.1.0-py2.5.zip +0 -0
  240. data/tools/logilab/logilab/astng/test/data/SSL1/Connection1.py +0 -33
  241. data/tools/logilab/logilab/astng/test/data/SSL1/__init__.py +0 -20
  242. data/tools/logilab/logilab/astng/test/data/__init__.py +0 -20
  243. data/tools/logilab/logilab/astng/test/data/all.py +0 -29
  244. data/tools/logilab/logilab/astng/test/data/appl/__init__.py +0 -23
  245. data/tools/logilab/logilab/astng/test/data/appl/myConnection.py +0 -30
  246. data/tools/logilab/logilab/astng/test/data/format.py +0 -34
  247. data/tools/logilab/logilab/astng/test/data/module.py +0 -90
  248. data/tools/logilab/logilab/astng/test/data/module2.py +0 -112
  249. data/tools/logilab/logilab/astng/test/data/noendingnewline.py +0 -57
  250. data/tools/logilab/logilab/astng/test/data/nonregr.py +0 -76
  251. data/tools/logilab/logilab/astng/test/data/notall.py +0 -28
  252. data/tools/logilab/logilab/astng/test/data2/__init__.py +0 -20
  253. data/tools/logilab/logilab/astng/test/data2/clientmodule_test.py +0 -51
  254. data/tools/logilab/logilab/astng/test/data2/suppliermodule_test.py +0 -32
  255. data/tools/logilab/logilab/astng/test/regrtest.py +0 -135
  256. data/tools/logilab/logilab/astng/test/regrtest_data/absimport.py +0 -22
  257. data/tools/logilab/logilab/astng/test/regrtest_data/descriptor_crash.py +0 -31
  258. data/tools/logilab/logilab/astng/test/regrtest_data/import_package_subpackage_module.py +0 -68
  259. data/tools/logilab/logilab/astng/test/regrtest_data/package/__init__.py +0 -24
  260. data/tools/logilab/logilab/astng/test/regrtest_data/package/subpackage/__init__.py +0 -20
  261. data/tools/logilab/logilab/astng/test/regrtest_data/package/subpackage/module.py +0 -20
  262. data/tools/logilab/logilab/astng/test/unittest_builder.py +0 -684
  263. data/tools/logilab/logilab/astng/test/unittest_inference.py +0 -1112
  264. data/tools/logilab/logilab/astng/test/unittest_inspector.py +0 -105
  265. data/tools/logilab/logilab/astng/test/unittest_lookup.py +0 -302
  266. data/tools/logilab/logilab/astng/test/unittest_manager.py +0 -98
  267. data/tools/logilab/logilab/astng/test/unittest_nodes.py +0 -302
  268. data/tools/logilab/logilab/astng/test/unittest_scoped_nodes.py +0 -501
  269. data/tools/logilab/logilab/astng/test/unittest_utils.py +0 -104
  270. data/tools/logilab/logilab/astng/utils.py +0 -342
  271. data/tools/logilab/logilab/common/__init__.py +0 -140
  272. data/tools/logilab/logilab/common/__pkginfo__.py +0 -43
  273. data/tools/logilab/logilab/common/adbh.py +0 -35
  274. data/tools/logilab/logilab/common/cache.py +0 -114
  275. data/tools/logilab/logilab/common/changelog.py +0 -234
  276. data/tools/logilab/logilab/common/clcommands.py +0 -181
  277. data/tools/logilab/logilab/common/cli.py +0 -212
  278. data/tools/logilab/logilab/common/compat.py +0 -328
  279. data/tools/logilab/logilab/common/configuration.py +0 -1087
  280. data/tools/logilab/logilab/common/contexts.py +0 -58
  281. data/tools/logilab/logilab/common/corbautils.py +0 -117
  282. data/tools/logilab/logilab/common/daemon.py +0 -171
  283. data/tools/logilab/logilab/common/date.py +0 -279
  284. data/tools/logilab/logilab/common/db.py +0 -49
  285. data/tools/logilab/logilab/common/dbf.py +0 -229
  286. data/tools/logilab/logilab/common/debugger.py +0 -208
  287. data/tools/logilab/logilab/common/decorators.py +0 -190
  288. data/tools/logilab/logilab/common/deprecation.py +0 -118
  289. data/tools/logilab/logilab/common/fileutils.py +0 -409
  290. data/tools/logilab/logilab/common/graph.py +0 -259
  291. data/tools/logilab/logilab/common/html.py +0 -142
  292. data/tools/logilab/logilab/common/interface.py +0 -76
  293. data/tools/logilab/logilab/common/logging_ext.py +0 -166
  294. data/tools/logilab/logilab/common/modutils.py +0 -670
  295. data/tools/logilab/logilab/common/optik_ext.py +0 -383
  296. data/tools/logilab/logilab/common/optparser.py +0 -92
  297. data/tools/logilab/logilab/common/pdf_ext.py +0 -111
  298. data/tools/logilab/logilab/common/proc.py +0 -276
  299. data/tools/logilab/logilab/common/pyro_ext.py +0 -146
  300. data/tools/logilab/logilab/common/pytest.py +0 -754
  301. data/tools/logilab/logilab/common/shellutils.py +0 -383
  302. data/tools/logilab/logilab/common/sphinx_ext.py +0 -87
  303. data/tools/logilab/logilab/common/sphinxutils.py +0 -122
  304. data/tools/logilab/logilab/common/sqlgen.py +0 -31
  305. data/tools/logilab/logilab/common/table.py +0 -930
  306. data/tools/logilab/logilab/common/tasksqueue.py +0 -97
  307. data/tools/logilab/logilab/common/test/__init__.py +0 -1
  308. data/tools/logilab/logilab/common/test/data/ChangeLog +0 -184
  309. data/tools/logilab/logilab/common/test/data/MyPyPa-0.1.0-py2.5.egg +0 -0
  310. data/tools/logilab/logilab/common/test/data/__init__.py +0 -1
  311. data/tools/logilab/logilab/common/test/data/content_differ_dir/NOTHING +0 -0
  312. data/tools/logilab/logilab/common/test/data/content_differ_dir/README +0 -1
  313. data/tools/logilab/logilab/common/test/data/content_differ_dir/subdir/coin +0 -1
  314. data/tools/logilab/logilab/common/test/data/content_differ_dir/subdir/toto.txt +0 -53
  315. data/tools/logilab/logilab/common/test/data/file_differ_dir/NOTHING +0 -0
  316. data/tools/logilab/logilab/common/test/data/file_differ_dir/README +0 -1
  317. data/tools/logilab/logilab/common/test/data/file_differ_dir/subdir/toto.txt +0 -53
  318. data/tools/logilab/logilab/common/test/data/file_differ_dir/subdirtwo/Hello +0 -0
  319. data/tools/logilab/logilab/common/test/data/find_test/__init__.py +0 -0
  320. data/tools/logilab/logilab/common/test/data/find_test/foo.txt +0 -0
  321. data/tools/logilab/logilab/common/test/data/find_test/module.py +0 -0
  322. data/tools/logilab/logilab/common/test/data/find_test/module2.py +0 -0
  323. data/tools/logilab/logilab/common/test/data/find_test/newlines.txt +0 -0
  324. data/tools/logilab/logilab/common/test/data/find_test/noendingnewline.py +0 -0
  325. data/tools/logilab/logilab/common/test/data/find_test/nonregr.py +0 -0
  326. data/tools/logilab/logilab/common/test/data/find_test/normal_file.txt +0 -0
  327. data/tools/logilab/logilab/common/test/data/find_test/spam.txt +0 -0
  328. data/tools/logilab/logilab/common/test/data/find_test/sub/doc.txt +0 -0
  329. data/tools/logilab/logilab/common/test/data/find_test/sub/momo.py +0 -0
  330. data/tools/logilab/logilab/common/test/data/find_test/test.ini +0 -0
  331. data/tools/logilab/logilab/common/test/data/find_test/test1.msg +0 -0
  332. data/tools/logilab/logilab/common/test/data/find_test/test2.msg +0 -0
  333. data/tools/logilab/logilab/common/test/data/find_test/write_protected_file.txt +0 -0
  334. data/tools/logilab/logilab/common/test/data/foo.txt +0 -9
  335. data/tools/logilab/logilab/common/test/data/module.py +0 -88
  336. data/tools/logilab/logilab/common/test/data/module2.py +0 -77
  337. data/tools/logilab/logilab/common/test/data/newlines.txt +0 -3
  338. data/tools/logilab/logilab/common/test/data/noendingnewline.py +0 -36
  339. data/tools/logilab/logilab/common/test/data/nonregr.py +0 -14
  340. data/tools/logilab/logilab/common/test/data/normal_file.txt +0 -0
  341. data/tools/logilab/logilab/common/test/data/reference_dir/NOTHING +0 -0
  342. data/tools/logilab/logilab/common/test/data/reference_dir/README +0 -1
  343. data/tools/logilab/logilab/common/test/data/reference_dir/subdir/coin +0 -1
  344. data/tools/logilab/logilab/common/test/data/reference_dir/subdir/toto.txt +0 -53
  345. data/tools/logilab/logilab/common/test/data/same_dir/NOTHING +0 -0
  346. data/tools/logilab/logilab/common/test/data/same_dir/README +0 -1
  347. data/tools/logilab/logilab/common/test/data/same_dir/subdir/coin +0 -1
  348. data/tools/logilab/logilab/common/test/data/same_dir/subdir/toto.txt +0 -53
  349. data/tools/logilab/logilab/common/test/data/spam.txt +0 -9
  350. data/tools/logilab/logilab/common/test/data/sub/doc.txt +0 -1
  351. data/tools/logilab/logilab/common/test/data/sub/momo.py +0 -1
  352. data/tools/logilab/logilab/common/test/data/subdir_differ_dir/NOTHING +0 -0
  353. data/tools/logilab/logilab/common/test/data/subdir_differ_dir/README +0 -1
  354. data/tools/logilab/logilab/common/test/data/subdir_differ_dir/subdir/coin +0 -1
  355. data/tools/logilab/logilab/common/test/data/subdir_differ_dir/subdir/toto.txt +0 -53
  356. data/tools/logilab/logilab/common/test/data/test.ini +0 -20
  357. data/tools/logilab/logilab/common/test/data/test1.msg +0 -30
  358. data/tools/logilab/logilab/common/test/data/test2.msg +0 -42
  359. data/tools/logilab/logilab/common/test/data/write_protected_file.txt +0 -0
  360. data/tools/logilab/logilab/common/test/foomod.py +0 -17
  361. data/tools/logilab/logilab/common/test/unittest_cache.py +0 -129
  362. data/tools/logilab/logilab/common/test/unittest_changelog.py +0 -37
  363. data/tools/logilab/logilab/common/test/unittest_compat.py +0 -239
  364. data/tools/logilab/logilab/common/test/unittest_configuration.py +0 -348
  365. data/tools/logilab/logilab/common/test/unittest_date.py +0 -154
  366. data/tools/logilab/logilab/common/test/unittest_decorators.py +0 -62
  367. data/tools/logilab/logilab/common/test/unittest_deprecation.py +0 -76
  368. data/tools/logilab/logilab/common/test/unittest_fileutils.py +0 -133
  369. data/tools/logilab/logilab/common/test/unittest_graph.py +0 -50
  370. data/tools/logilab/logilab/common/test/unittest_html.py +0 -76
  371. data/tools/logilab/logilab/common/test/unittest_interface.py +0 -87
  372. data/tools/logilab/logilab/common/test/unittest_modutils.py +0 -244
  373. data/tools/logilab/logilab/common/test/unittest_pytest.py +0 -50
  374. data/tools/logilab/logilab/common/test/unittest_shellutils.py +0 -248
  375. data/tools/logilab/logilab/common/test/unittest_table.py +0 -448
  376. data/tools/logilab/logilab/common/test/unittest_taskqueue.py +0 -71
  377. data/tools/logilab/logilab/common/test/unittest_testlib.py +0 -956
  378. data/tools/logilab/logilab/common/test/unittest_textutils.py +0 -247
  379. data/tools/logilab/logilab/common/test/unittest_tree.py +0 -248
  380. data/tools/logilab/logilab/common/test/unittest_umessage.py +0 -55
  381. data/tools/logilab/logilab/common/test/unittest_ureports_html.py +0 -64
  382. data/tools/logilab/logilab/common/test/unittest_ureports_text.py +0 -105
  383. data/tools/logilab/logilab/common/test/unittest_xmlutils.py +0 -75
  384. data/tools/logilab/logilab/common/test/utils.py +0 -87
  385. data/tools/logilab/logilab/common/testlib.py +0 -1927
  386. data/tools/logilab/logilab/common/textutils.py +0 -476
  387. data/tools/logilab/logilab/common/tree.py +0 -372
  388. data/tools/logilab/logilab/common/umessage.py +0 -161
  389. data/tools/logilab/logilab/common/ureports/__init__.py +0 -174
  390. data/tools/logilab/logilab/common/ureports/docbook_writer.py +0 -139
  391. data/tools/logilab/logilab/common/ureports/html_writer.py +0 -131
  392. data/tools/logilab/logilab/common/ureports/nodes.py +0 -201
  393. data/tools/logilab/logilab/common/ureports/text_writer.py +0 -140
  394. data/tools/logilab/logilab/common/vcgutils.py +0 -216
  395. data/tools/logilab/logilab/common/visitor.py +0 -107
  396. data/tools/logilab/logilab/common/xmlrpcutils.py +0 -136
  397. data/tools/logilab/logilab/common/xmlutils.py +0 -61
  398. data/tools/pychecker/COPYRIGHT +0 -31
  399. data/tools/pychecker/ChangeLog +0 -349
  400. data/tools/pychecker/CodeChecks.py +0 -1969
  401. data/tools/pychecker/CodeChecks.pyc +0 -0
  402. data/tools/pychecker/CodeChecks.pyo +0 -0
  403. data/tools/pychecker/Config.py +0 -475
  404. data/tools/pychecker/Config.pyc +0 -0
  405. data/tools/pychecker/Config.pyo +0 -0
  406. data/tools/pychecker/KNOWN_BUGS +0 -100
  407. data/tools/pychecker/MAINTAINERS +0 -81
  408. data/tools/pychecker/NEWS +0 -406
  409. data/tools/pychecker/OP.py +0 -131
  410. data/tools/pychecker/OP.pyc +0 -0
  411. data/tools/pychecker/OP.pyo +0 -0
  412. data/tools/pychecker/OptionTypes.py +0 -117
  413. data/tools/pychecker/OptionTypes.pyc +0 -0
  414. data/tools/pychecker/OptionTypes.pyo +0 -0
  415. data/tools/pychecker/README +0 -152
  416. data/tools/pychecker/Stack.py +0 -115
  417. data/tools/pychecker/Stack.pyc +0 -0
  418. data/tools/pychecker/Stack.pyo +0 -0
  419. data/tools/pychecker/TODO +0 -101
  420. data/tools/pychecker/VERSION +0 -1
  421. data/tools/pychecker/Warning.py +0 -50
  422. data/tools/pychecker/Warning.pyc +0 -0
  423. data/tools/pychecker/Warning.pyo +0 -0
  424. data/tools/pychecker/__init__.py +0 -17
  425. data/tools/pychecker/__init__.pyc +0 -0
  426. data/tools/pychecker/__init__.pyo +0 -0
  427. data/tools/pychecker/checker.py +0 -961
  428. data/tools/pychecker/checker.pyc +0 -0
  429. data/tools/pychecker/checker.pyo +0 -0
  430. data/tools/pychecker/function.py +0 -159
  431. data/tools/pychecker/function.pyc +0 -0
  432. data/tools/pychecker/function.pyo +0 -0
  433. data/tools/pychecker/msgs.py +0 -175
  434. data/tools/pychecker/msgs.pyc +0 -0
  435. data/tools/pychecker/msgs.pyo +0 -0
  436. data/tools/pychecker/options.py +0 -275
  437. data/tools/pychecker/options.pyc +0 -0
  438. data/tools/pychecker/options.pyo +0 -0
  439. data/tools/pychecker/pcmodules.py +0 -19
  440. data/tools/pychecker/pcmodules.pyc +0 -0
  441. data/tools/pychecker/pcmodules.pyo +0 -0
  442. data/tools/pychecker/printer.py +0 -47
  443. data/tools/pychecker/printer.pyc +0 -0
  444. data/tools/pychecker/printer.pyo +0 -0
  445. data/tools/pychecker/python.py +0 -427
  446. data/tools/pychecker/python.pyc +0 -0
  447. data/tools/pychecker/python.pyo +0 -0
  448. data/tools/pychecker/utils.py +0 -102
  449. data/tools/pychecker/utils.pyc +0 -0
  450. data/tools/pychecker/utils.pyo +0 -0
  451. data/tools/pychecker/warn.py +0 -778
  452. data/tools/pychecker/warn.pyc +0 -0
  453. data/tools/pychecker/warn.pyo +0 -0
  454. data/tools/pylint2/pylint/__init__.py +0 -16
  455. data/tools/pylint2/pylint/__pkginfo__.py +0 -67
  456. data/tools/pylint2/pylint/checkers/__init__.py +0 -155
  457. data/tools/pylint2/pylint/checkers/base.py +0 -749
  458. data/tools/pylint2/pylint/checkers/classes.py +0 -527
  459. data/tools/pylint2/pylint/checkers/design_analysis.py +0 -344
  460. data/tools/pylint2/pylint/checkers/exceptions.py +0 -183
  461. data/tools/pylint2/pylint/checkers/format.py +0 -367
  462. data/tools/pylint2/pylint/checkers/imports.py +0 -379
  463. data/tools/pylint2/pylint/checkers/logging.py +0 -98
  464. data/tools/pylint2/pylint/checkers/misc.py +0 -128
  465. data/tools/pylint2/pylint/checkers/newstyle.py +0 -107
  466. data/tools/pylint2/pylint/checkers/raw_metrics.py +0 -125
  467. data/tools/pylint2/pylint/checkers/similar.py +0 -333
  468. data/tools/pylint2/pylint/checkers/string_format.py +0 -239
  469. data/tools/pylint2/pylint/checkers/typecheck.py +0 -364
  470. data/tools/pylint2/pylint/checkers/utils.py +0 -208
  471. data/tools/pylint2/pylint/checkers/variables.py +0 -498
  472. data/tools/pylint2/pylint/config.py +0 -149
  473. data/tools/pylint2/pylint/epylint.py +0 -149
  474. data/tools/pylint2/pylint/gui.py +0 -433
  475. data/tools/pylint2/pylint/interfaces.py +0 -98
  476. data/tools/pylint2/pylint/lint.py +0 -914
  477. data/tools/pylint2/pylint/pyreverse/__init__.py +0 -5
  478. data/tools/pylint2/pylint/pyreverse/diadefslib.py +0 -229
  479. data/tools/pylint2/pylint/pyreverse/diagrams.py +0 -247
  480. data/tools/pylint2/pylint/pyreverse/main.py +0 -123
  481. data/tools/pylint2/pylint/pyreverse/utils.py +0 -131
  482. data/tools/pylint2/pylint/pyreverse/writer.py +0 -196
  483. data/tools/pylint2/pylint/reporters/__init__.py +0 -67
  484. data/tools/pylint2/pylint/reporters/guireporter.py +0 -36
  485. data/tools/pylint2/pylint/reporters/html.py +0 -69
  486. data/tools/pylint2/pylint/reporters/text.py +0 -156
  487. data/tools/pylint2/pylint/utils.py +0 -518
  488. data/tools/pylint2/pylint.py +0 -16
@@ -1,131 +0,0 @@
1
- # Copyright (c) 2002-2010 LOGILAB S.A. (Paris, FRANCE).
2
- # http://www.logilab.fr/ -- mailto:contact@logilab.fr
3
- #
4
- # This program is free software; you can redistribute it and/or modify it under
5
- # the terms of the GNU General Public License as published by the Free Software
6
- # Foundation; either version 2 of the License, or (at your option) any later
7
- # version.
8
- #
9
- # This program is distributed in the hope that it will be useful, but WITHOUT
10
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
- # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12
- #
13
- # You should have received a copy of the GNU General Public License along with
14
- # this program; if not, write to the Free Software Foundation, Inc.,
15
- # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
16
- """
17
- generic classes/functions for pyreverse core/extensions
18
- """
19
-
20
- import sys
21
- import re
22
- import os
23
-
24
- ########### pyreverse option utils ##############################
25
-
26
-
27
- RCFILE = '.pyreverserc'
28
-
29
- def get_default_options():
30
- """
31
- Read config file and return list of options
32
- """
33
- options = []
34
- home = os.environ.get('HOME', '')
35
- if home:
36
- rcfile = os.path.join(home, RCFILE)
37
- try:
38
- options = open(rcfile).read().split()
39
- except IOError:
40
- pass # ignore if no config file found
41
- return options
42
-
43
- def insert_default_options():
44
- """insert default options to sys.argv
45
- """
46
- options = get_default_options()
47
- options.reverse()
48
- for arg in options:
49
- sys.argv.insert(1, arg)
50
-
51
-
52
-
53
- # astng utilities ###########################################################
54
-
55
- SPECIAL = re.compile('^__[A-Za-z0-9]+[A-Za-z0-9_]*__$')
56
- PRIVATE = re.compile('^__[_A-Za-z0-9]*[A-Za-z0-9]+_?$')
57
- PROTECTED = re.compile('^_[_A-Za-z0-9]*$')
58
-
59
- def get_visibility(name):
60
- """return the visibility from a name: public, protected, private or special
61
- """
62
- if SPECIAL.match(name):
63
- visibility = 'special'
64
- elif PRIVATE.match(name):
65
- visibility = 'private'
66
- elif PROTECTED.match(name):
67
- visibility = 'protected'
68
-
69
- else:
70
- visibility = 'public'
71
- return visibility
72
-
73
- ABSTRACT = re.compile('^.*Abstract.*')
74
- FINAL = re.compile('^[A-Z_]*$')
75
-
76
- def is_abstract(node):
77
- """return true if the given class node correspond to an abstract class
78
- definition
79
- """
80
- return ABSTRACT.match(node.name)
81
-
82
- def is_final(node):
83
- """return true if the given class/function node correspond to final
84
- definition
85
- """
86
- return FINAL.match(node.name)
87
-
88
- def is_interface(node):
89
- # bw compat
90
- return node.type == 'interface'
91
-
92
- def is_exception(node):
93
- # bw compat
94
- return node.type == 'exception'
95
-
96
-
97
- # Helpers #####################################################################
98
-
99
- _CONSTRUCTOR = 1
100
- _SPECIAL = 2
101
- _PROTECTED = 4
102
- _PRIVATE = 8
103
- MODES = {
104
- 'ALL' : 0,
105
- 'PUB_ONLY' : _SPECIAL + _PROTECTED + _PRIVATE,
106
- 'SPECIAL' : _SPECIAL,
107
- 'OTHER' : _PROTECTED + _PRIVATE,
108
- }
109
- VIS_MOD = {'special': _SPECIAL, 'protected': _PROTECTED, \
110
- 'private': _PRIVATE, 'public': 0 }
111
-
112
- class FilterMixIn:
113
- """filter nodes according to a mode and nodes' visibility
114
- """
115
- def __init__(self, mode):
116
- "init filter modes"
117
- __mode = 0
118
- for nummod in mode.split('+'):
119
- try:
120
- __mode += MODES[nummod]
121
- except KeyError, ex:
122
- print >> sys.stderr, 'Unknown filter mode %s' % ex
123
- self.__mode = __mode
124
-
125
-
126
- def show_attr(self, node):
127
- """return true if the node should be treated
128
- """
129
- visibility = get_visibility(getattr(node, 'name', node))
130
- return not (self.__mode & VIS_MOD[visibility] )
131
-
@@ -1,196 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Copyright (c) 2008-2010 LOGILAB S.A. (Paris, FRANCE).
3
- # http://www.logilab.fr/ -- mailto:contact@logilab.fr
4
- #
5
- # This program is free software; you can redistribute it and/or modify it under
6
- # the terms of the GNU General Public License as published by the Free Software
7
- # Foundation; either version 2 of the License, or (at your option) any later
8
- # version.
9
- #
10
- # This program is distributed in the hope that it will be useful, but WITHOUT
11
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12
- # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along with
15
- # this program; if not, write to the Free Software Foundation, Inc.,
16
- # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17
- """
18
- Utilities for creating VCG and Dot diagrams.
19
- """
20
-
21
- from logilab.common.vcgutils import VCGPrinter
22
- from logilab.common.graph import DotBackend
23
-
24
- from pylint.pyreverse.utils import is_exception
25
-
26
- class DiagramWriter:
27
- """base class for writing project diagrams
28
- """
29
- def __init__(self, config, styles):
30
- self.config = config
31
- self.pkg_edges, self.inh_edges, self.imp_edges, self.ass_edges = styles
32
- self.printer = None # defined in set_printer
33
-
34
- def write(self, diadefs):
35
- """write files for <project> according to <diadefs>
36
- """
37
- for diagram in diadefs:
38
- basename = diagram.title.strip().replace(' ', '_')
39
- file_name = '%s.%s' % (basename, self.config.output_format)
40
- self.set_printer(file_name, basename)
41
- if diagram.TYPE == 'class':
42
- self.write_classes(diagram)
43
- else:
44
- self.write_packages(diagram)
45
- self.close_graph()
46
-
47
- def write_packages(self, diagram):
48
- """write a package diagram"""
49
- for obj in diagram.modules():
50
- label = self.get_title(obj)
51
- self.printer.emit_node(obj.fig_id, label=label, shape='box')
52
- # package dependencies
53
- for rel in diagram.relationships.get('depends', ()):
54
- self.printer.emit_edge(rel.from_object.fig_id, rel.to_object.fig_id,
55
- **self.pkg_edges)
56
-
57
- def write_classes(self, diagram):
58
- """write a class diagram"""
59
- for obj in diagram.objects:
60
- self.printer.emit_node(obj.fig_id, **self.get_values(obj) )
61
- # inheritance links
62
- for rel in diagram.relationships.get('specialization', ()):
63
- self.printer.emit_edge(rel.from_object.fig_id, rel.to_object.fig_id,
64
- **self.inh_edges)
65
- # implementation links
66
- for rel in diagram.relationships.get('implements', ()):
67
- self.printer.emit_edge(rel.from_object.fig_id, rel.to_object.fig_id,
68
- **self.imp_edges)
69
- # generate associations
70
- for rel in diagram.relationships.get('association', ()):
71
- self.printer.emit_edge(rel.from_object.fig_id, rel.to_object.fig_id,
72
- label=rel.name, **self.ass_edges)
73
-
74
- def set_printer(self, file_name, basename):
75
- """set printer"""
76
- raise NotImplementedError
77
-
78
- def get_title(self, obj):
79
- """get project title"""
80
- raise NotImplementedError
81
-
82
- def get_values(self, obj):
83
- """get label and shape for classes."""
84
- raise NotImplementedError
85
-
86
- def close_graph(self):
87
- """finalize the graph"""
88
- raise NotImplementedError
89
-
90
-
91
- class DotWriter(DiagramWriter):
92
- """write dot graphs from a diagram definition and a project
93
- """
94
-
95
- def __init__(self, config):
96
- styles = [dict(arrowtail='none', arrowhead="open"),
97
- dict(arrowtail = "none", arrowhead='empty'),
98
- dict(arrowtail="node", arrowhead='empty', style='dashed'),
99
- dict(fontcolor='green', arrowtail='none',
100
- arrowhead='diamond', style='solid') ]
101
- DiagramWriter.__init__(self, config, styles)
102
-
103
- def set_printer(self, file_name, basename):
104
- """initialize DotWriter and add options for layout.
105
- """
106
- layout = dict(rankdir="BT")
107
- self.printer = DotBackend(basename, additionnal_param=layout)
108
- self.file_name = file_name
109
-
110
- def get_title(self, obj):
111
- """get project title"""
112
- return obj.title
113
-
114
- def get_values(self, obj):
115
- """get label and shape for classes.
116
-
117
- The label contains all attributes and methods
118
- """
119
- label = obj.title
120
- if obj.shape == 'interface':
121
- label = "«interface»\\n%s" % label
122
- if not self.config.only_classnames:
123
- label = "%s|%s\l|" % (label, r"\l".join(obj.attrs) )
124
- for func in obj.methods:
125
- label = r'%s%s()\l' % (label, func.name)
126
- label = '{%s}' % label
127
- if is_exception(obj.node):
128
- return dict(fontcolor="red", label=label, shape="record")
129
- return dict(label=label, shape="record")
130
-
131
- def close_graph(self):
132
- """print the dot graph into <file_name>"""
133
- self.printer.generate(self.file_name)
134
-
135
-
136
- class VCGWriter(DiagramWriter):
137
- """write vcg graphs from a diagram definition and a project
138
- """
139
- def __init__(self, config):
140
- styles = [dict(arrowstyle='solid', backarrowstyle='none',
141
- backarrowsize=0),
142
- dict(arrowstyle='solid', backarrowstyle='none',
143
- backarrowsize=10),
144
- dict(arrowstyle='solid', backarrowstyle='none',
145
- linestyle='dotted', backarrowsize=10),
146
- dict(arrowstyle='solid', backarrowstyle='none',
147
- textcolor='green') ]
148
- DiagramWriter.__init__(self, config, styles)
149
-
150
- def set_printer(self, file_name, basename):
151
- """initialize VCGWriter for a UML graph"""
152
- self.graph_file = open(file_name, 'w+')
153
- self.printer = VCGPrinter(self.graph_file)
154
- self.printer.open_graph(title=basename, layoutalgorithm='dfs',
155
- late_edge_labels='yes', port_sharing='no',
156
- manhattan_edges='yes')
157
- self.printer.emit_node = self.printer.node
158
- self.printer.emit_edge = self.printer.edge
159
-
160
- def get_title(self, obj):
161
- """get project title in vcg format"""
162
- return r'\fb%s\fn' % obj.title
163
-
164
- def get_values(self, obj):
165
- """get label and shape for classes.
166
-
167
- The label contains all attributes and methods
168
- """
169
- if is_exception(obj.node):
170
- label = r'\fb\f09%s\fn' % obj.title
171
- else:
172
- label = r'\fb%s\fn' % obj.title
173
- if obj.shape == 'interface':
174
- shape = 'ellipse'
175
- else:
176
- shape = 'box'
177
- if not self.config.only_classnames:
178
- attrs = obj.attrs
179
- methods = [func.name for func in obj.methods]
180
- # box width for UML like diagram
181
- maxlen = max(len(name) for name in [obj.title] + methods + attrs)
182
- line = "_" * (maxlen + 2)
183
- label = r'%s\n\f%s' % (label, line)
184
- for attr in attrs:
185
- label = r'%s\n\f08%s' % (label, attr)
186
- if attrs:
187
- label = r'%s\n\f%s' % (label, line)
188
- for func in methods:
189
- label = r'%s\n\f10%s()' % (label, func)
190
- return dict(label=label, shape=shape)
191
-
192
- def close_graph(self):
193
- """close graph and file"""
194
- self.printer.close_graph()
195
- self.graph_file.close()
196
-
@@ -1,67 +0,0 @@
1
- # This program is free software; you can redistribute it and/or modify it under
2
- # the terms of the GNU 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 General Public License for more details.
9
- #
10
- # You should have received a copy of the GNU 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
- """utilities methods and classes for reporters
14
-
15
- Copyright (c) 2000-2003 LOGILAB S.A. (Paris, FRANCE).
16
- http://www.logilab.fr/ -- mailto:contact@logilab.fr
17
- """
18
-
19
- import sys
20
-
21
- CMPS = ['=', '-', '+']
22
-
23
- def diff_string(old, new):
24
- """given a old and new int value, return a string representing the
25
- difference
26
- """
27
- diff = abs(old - new)
28
- diff_str = "%s%s" % (CMPS[cmp(old, new)], diff and ('%.2f' % diff) or '')
29
- return diff_str
30
-
31
-
32
- class EmptyReport(Exception):
33
- """raised when a report is empty and so should not be displayed"""
34
-
35
- class BaseReporter:
36
- """base class for reporters"""
37
-
38
- extension = ''
39
-
40
- def __init__(self, output=None):
41
- self.linter = None
42
- self.include_ids = None
43
- self.section = 0
44
- self.out = None
45
- self.set_output(output)
46
-
47
- def set_output(self, output=None):
48
- """set output stream"""
49
- if output is None:
50
- output = sys.stdout
51
- self.out = output
52
-
53
- def writeln(self, string=''):
54
- """write a line in the output buffer"""
55
- print >> self.out, string
56
-
57
- def display_results(self, layout):
58
- """display results encapsulated in the layout tree"""
59
- self.section = 0
60
- if self.include_ids and hasattr(layout, 'report_id'):
61
- layout.children[0].children[0].data += ' (%s)' % layout.report_id
62
- self._display(layout)
63
-
64
- def _display(self, layout):
65
- """display the layout"""
66
- raise NotImplementedError()
67
-
@@ -1,36 +0,0 @@
1
- """ reporter used by gui.py """
2
-
3
- import sys
4
-
5
- from pylint.interfaces import IReporter
6
- from pylint.reporters import BaseReporter
7
- from logilab.common.ureports import TextWriter
8
-
9
-
10
- class GUIReporter(BaseReporter):
11
- """saves messages"""
12
-
13
- __implements__ = IReporter
14
- extension = ''
15
-
16
- def __init__(self, gui, output=sys.stdout):
17
- """init"""
18
- BaseReporter.__init__(self, output)
19
- self.msgs = []
20
- self.gui = gui
21
-
22
- def add_message(self, msg_id, location, msg):
23
- """manage message of different type and in the context of path"""
24
- module, obj, line = location[1:]
25
- if self.include_ids:
26
- sigle = msg_id
27
- else:
28
- sigle = msg_id[0]
29
-
30
- full_msg = [sigle, module, obj, str(line), msg]
31
- self.msgs += [[sigle, module, obj, str(line)]]
32
- self.gui.msg_queue.put(full_msg)
33
-
34
- def _display(self, layout):
35
- """launch layouts display"""
36
- TextWriter().format(layout, self.out)
@@ -1,69 +0,0 @@
1
- # Copyright (c) 2003-2006 Sylvain Thenault (thenault@gmail.com).
2
- # Copyright (c) 2003-2006 LOGILAB S.A. (Paris, FRANCE).
3
- # This program is free software; you can redistribute it and/or modify it under
4
- # the terms of the GNU General Public License as published by the Free Software
5
- # Foundation; either version 2 of the License, or (at your option) any later
6
- # version.
7
- #
8
- # This program is distributed in the hope that it will be useful, but WITHOUT
9
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
10
- # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
11
- #
12
- # You should have received a copy of the GNU General Public License along with
13
- # this program; if not, write to the Free Software Foundation, Inc.,
14
- # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
15
- """HTML reporter"""
16
-
17
- import sys
18
- from cgi import escape
19
-
20
- from logilab.common.ureports import HTMLWriter, Section, Table
21
-
22
- from pylint.interfaces import IReporter
23
- from pylint.reporters import BaseReporter
24
-
25
-
26
- class HTMLReporter(BaseReporter):
27
- """report messages and layouts in HTML"""
28
-
29
- __implements__ = IReporter
30
- extension = 'html'
31
-
32
- def __init__(self, output=sys.stdout):
33
- BaseReporter.__init__(self, output)
34
- self.msgs = []
35
-
36
- def add_message(self, msg_id, location, msg):
37
- """manage message of different type and in the context of path"""
38
- module, obj, line = location[1:]
39
- if self.include_ids:
40
- sigle = msg_id
41
- else:
42
- sigle = msg_id[0]
43
- self.msgs += [sigle, module, obj, str(line), escape(msg)]
44
-
45
- def set_output(self, output=None):
46
- """set output stream
47
-
48
- messages buffered for old output is processed first"""
49
- if self.out and self.msgs:
50
- self._display(Section())
51
- BaseReporter.set_output(self, output)
52
-
53
- def _display(self, layout):
54
- """launch layouts display
55
-
56
- overridden from BaseReporter to add insert the messages section
57
- (in add_message, message is not displayed, just collected so it
58
- can be displayed in an html table)
59
- """
60
- if self.msgs:
61
- # add stored messages to the layout
62
- msgs = ['type', 'module', 'object', 'line', 'message']
63
- msgs += self.msgs
64
- sect = Section('Messages')
65
- layout.append(sect)
66
- sect.append(Table(cols=5, children=msgs, rheaders=1))
67
- self.msgs = []
68
- HTMLWriter().format(layout, self.out)
69
-
@@ -1,156 +0,0 @@
1
- # Copyright (c) 2003-2007 Sylvain Thenault (thenault@gmail.com).
2
- # Copyright (c) 2003-2007 LOGILAB S.A. (Paris, FRANCE).
3
- # This program is free software; you can redistribute it and/or modify it under
4
- # the terms of the GNU General Public License as published by the Free Software
5
- # Foundation; either version 2 of the License, or (at your option) any later
6
- # version.
7
- #
8
- # This program is distributed in the hope that it will be useful, but WITHOUT
9
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
10
- # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
11
- #
12
- # You should have received a copy of the GNU General Public License along with
13
- # this program; if not, write to the Free Software Foundation, Inc.,
14
- # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
15
- """Plain text reporters:
16
-
17
- :text: the default one grouping messages by module
18
- :parseable:
19
- standard parseable output with full module path on each message (for
20
- editor integration)
21
- :colorized: an ANSI colorized text reporter
22
-
23
- """
24
-
25
- import os
26
- import sys
27
-
28
- from logilab.common.ureports import TextWriter
29
- from logilab.common.textutils import colorize_ansi
30
-
31
- from pylint.interfaces import IReporter
32
- from pylint.reporters import BaseReporter
33
-
34
- TITLE_UNDERLINES = ['', '=', '-', '.']
35
-
36
-
37
- class TextReporter(BaseReporter):
38
- """reports messages and layouts in plain text
39
- """
40
-
41
- __implements__ = IReporter
42
- extension = 'txt'
43
-
44
- def __init__(self, output=sys.stdout):
45
- BaseReporter.__init__(self, output)
46
- self._modules = {}
47
-
48
- def add_message(self, msg_id, location, msg):
49
- """manage message of different type and in the context of path"""
50
- module, obj, line = location[1:]
51
- if not self._modules.has_key(module):
52
- if module:
53
- self.writeln('************* Module %s' % module)
54
- self._modules[module] = 1
55
- else:
56
- self.writeln('************* %s' % module)
57
- if obj:
58
- obj = ':%s' % obj
59
- if self.include_ids:
60
- sigle = msg_id
61
- else:
62
- sigle = msg_id[0]
63
- self.writeln('%s:%3s%s: %s' % (sigle, line, obj, msg))
64
-
65
- def _display(self, layout):
66
- """launch layouts display"""
67
- print >> self.out
68
- TextWriter().format(layout, self.out)
69
-
70
-
71
- class ParseableTextReporter(TextReporter):
72
- """a reporter very similar to TextReporter, but display messages in a form
73
- recognized by most text editors :
74
-
75
- <filename>:<linenum>:<msg>
76
- """
77
- line_format = '%(path)s:%(line)s: [%(sigle)s%(obj)s] %(msg)s'
78
-
79
- def __init__(self, output=sys.stdout, relative=True):
80
- TextReporter.__init__(self, output)
81
- if relative:
82
- self._prefix = os.getcwd() + os.sep
83
- else:
84
- self._prefix = ''
85
-
86
- def add_message(self, msg_id, location, msg):
87
- """manage message of different type and in the context of path"""
88
- path, _, obj, line = location
89
- if obj:
90
- obj = ', %s' % obj
91
- if self.include_ids:
92
- sigle = msg_id
93
- else:
94
- sigle = msg_id[0]
95
- if self._prefix:
96
- path = path.replace(self._prefix, '')
97
- self.writeln(self.line_format % locals())
98
-
99
- class VSTextReporter(ParseableTextReporter):
100
- """Visual studio text reporter"""
101
- line_format = '%(path)s(%(line)s): [%(sigle)s%(obj)s] %(msg)s'
102
-
103
- class ColorizedTextReporter(TextReporter):
104
- """Simple TextReporter that colorizes text output"""
105
-
106
- COLOR_MAPPING = {
107
- "I" : ("green", None),
108
- 'C' : (None, "bold"),
109
- 'R' : ("magenta", "bold, italic"),
110
- 'W' : ("blue", None),
111
- 'E' : ("red", "bold"),
112
- 'F' : ("red", "bold, underline"),
113
- 'S' : ("yellow", "inverse"), # S stands for module Separator
114
- }
115
-
116
- def __init__(self, output=sys.stdout, color_mapping = None):
117
- TextReporter.__init__(self, output)
118
- self.color_mapping = color_mapping or \
119
- dict(ColorizedTextReporter.COLOR_MAPPING)
120
-
121
-
122
- def _get_decoration(self, msg_id):
123
- """Returns the tuple color, style associated with msg_id as defined
124
- in self.color_mapping
125
- """
126
- try:
127
- return self.color_mapping[msg_id[0]]
128
- except KeyError:
129
- return None, None
130
-
131
- def add_message(self, msg_id, location, msg):
132
- """manage message of different types, and colorize output
133
- using ansi escape codes
134
- """
135
- module, obj, line = location[1:]
136
- if not self._modules.has_key(module):
137
- color, style = self._get_decoration('S')
138
- if module:
139
- modsep = colorize_ansi('************* Module %s' % module,
140
- color, style)
141
- else:
142
- modsep = colorize_ansi('************* %s' % module,
143
- color, style)
144
- self.writeln(modsep)
145
- self._modules[module] = 1
146
- if obj:
147
- obj = ':%s' % obj
148
- if self.include_ids:
149
- sigle = msg_id
150
- else:
151
- sigle = msg_id[0]
152
- color, style = self._get_decoration(sigle)
153
- msg = colorize_ansi(msg, color, style)
154
- sigle = colorize_ansi(sigle, color, style)
155
- self.writeln('%s:%3s%s: %s' % (sigle, line, obj, msg))
156
-