bee_python 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
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,623 +0,0 @@
1
- #
2
- # epydoc package file
3
- #
4
- # A python documentation Module
5
- # Edward Loper
6
- #
7
- # $Id: __init__.py,v 1.1 2009/11/26 13:20:49 casa Exp $
8
- #
9
-
10
- """
11
- Markup language support for docstrings. Each submodule defines a
12
- parser for a single markup language. These parsers convert an
13
- object's docstring to a L{ParsedDocstring}, a standard intermediate
14
- representation that can be used to generate output.
15
- C{ParsedDocstring}s support the following operations:
16
- - output generation (L{to_plaintext()<ParsedDocstring.to_plaintext>},
17
- L{to_html()<ParsedDocstring.to_html>}, and
18
- L{to_latex()<ParsedDocstring.to_latex>}).
19
- - Summarization (L{summary()<ParsedDocstring.summary>}).
20
- - Field extraction (L{split_fields()<ParsedDocstring.split_fields>}).
21
- - Index term extraction (L{index_terms()<ParsedDocstring.index_terms>}.
22
-
23
- The L{parse()} function provides a single interface to the
24
- C{epydoc.markup} package: it takes a docstring and the name of a
25
- markup language; delegates to the appropriate parser; and returns the
26
- parsed docstring (along with any errors or warnings that were
27
- generated).
28
-
29
- The C{ParsedDocstring} output generation methods (C{to_M{format}()})
30
- use a L{DocstringLinker} to link the docstring output with the rest of
31
- the documentation that epydoc generates. C{DocstringLinker}s are
32
- currently responsible for translating two kinds of crossreference:
33
- - index terms (L{translate_indexterm()
34
- <DocstringLinker.translate_indexterm>}).
35
- - identifier crossreferences (L{translate_identifier_xref()
36
- <DocstringLinker.translate_identifier_xref>}).
37
-
38
- A parsed docstring's fields can be extracted using the
39
- L{ParsedDocstring.split_fields()} method. This method divides a
40
- docstring into its main body and a list of L{Field}s, each of which
41
- encodes a single field. The field's bodies are encoded as
42
- C{ParsedDocstring}s.
43
-
44
- Markup errors are represented using L{ParseError}s. These exception
45
- classes record information about the cause, location, and severity of
46
- each error.
47
-
48
- @sort: parse, ParsedDocstring, Field, DocstringLinker
49
- @group Errors and Warnings: ParseError
50
- @group Utility Functions: parse_type_of
51
- @var SCRWIDTH: The default width with which text will be wrapped
52
- when formatting the output of the parser.
53
- @type SCRWIDTH: C{int}
54
- @var _parse_warnings: Used by L{_parse_warn}.
55
- """
56
- __docformat__ = 'epytext en'
57
-
58
- import re, types, sys
59
- from epydoc import log
60
- from epydoc.util import plaintext_to_html, plaintext_to_latex
61
- import epydoc
62
- from epydoc.compat import *
63
-
64
- ##################################################
65
- ## Contents
66
- ##################################################
67
- #
68
- # 1. parse() dispatcher
69
- # 2. ParsedDocstring abstract base class
70
- # 3. Field class
71
- # 4. Docstring Linker
72
- # 5. ParseError exceptions
73
- # 6. Misc helpers
74
- #
75
-
76
- ##################################################
77
- ## Dispatcher
78
- ##################################################
79
-
80
- _markup_language_registry = {
81
- 'restructuredtext': 'epydoc.markup.restructuredtext',
82
- 'epytext': 'epydoc.markup.epytext',
83
- 'plaintext': 'epydoc.markup.plaintext',
84
- 'javadoc': 'epydoc.markup.javadoc',
85
- }
86
-
87
- def register_markup_language(name, parse_function):
88
- """
89
- Register a new markup language named C{name}, which can be parsed
90
- by the function C{parse_function}.
91
-
92
- @param name: The name of the markup language. C{name} should be a
93
- simple identifier, such as C{'epytext'} or C{'restructuredtext'}.
94
- Markup language names are case insensitive.
95
-
96
- @param parse_function: A function which can be used to parse the
97
- markup language, and returns a L{ParsedDocstring}. It should
98
- have the following signature:
99
-
100
- >>> def parse(s, errors):
101
- ... 'returns a ParsedDocstring'
102
-
103
- Where:
104
- - C{s} is the string to parse. (C{s} will be a unicode
105
- string.)
106
- - C{errors} is a list; any errors that are generated
107
- during docstring parsing should be appended to this
108
- list (as L{ParseError} objects).
109
- """
110
- _markup_language_registry[name.lower()] = parse_function
111
-
112
- MARKUP_LANGUAGES_USED = set()
113
-
114
- def parse(docstring, markup='plaintext', errors=None, **options):
115
- """
116
- Parse the given docstring, and use it to construct a
117
- C{ParsedDocstring}. If any fatal C{ParseError}s are encountered
118
- while parsing the docstring, then the docstring will be rendered
119
- as plaintext, instead.
120
-
121
- @type docstring: C{string}
122
- @param docstring: The docstring to encode.
123
- @type markup: C{string}
124
- @param markup: The name of the markup language that is used by
125
- the docstring. If the markup language is not supported, then
126
- the docstring will be treated as plaintext. The markup name
127
- is case-insensitive.
128
- @param errors: A list where any errors generated during parsing
129
- will be stored. If no list is specified, then fatal errors
130
- will generate exceptions, and non-fatal errors will be
131
- ignored.
132
- @type errors: C{list} of L{ParseError}
133
- @rtype: L{ParsedDocstring}
134
- @return: A L{ParsedDocstring} that encodes the contents of
135
- C{docstring}.
136
- @raise ParseError: If C{errors} is C{None} and an error is
137
- encountered while parsing.
138
- """
139
- # Initialize errors list.
140
- raise_on_error = (errors is None)
141
- if errors == None: errors = []
142
-
143
- # Normalize the markup language name.
144
- markup = markup.lower()
145
-
146
- # Is the markup language valid?
147
- if not re.match(r'\w+', markup):
148
- _parse_warn('Bad markup language name %r. Treating '
149
- 'docstrings as plaintext.' % markup)
150
- import epydoc.markup.plaintext as plaintext
151
- return plaintext.parse_docstring(docstring, errors, **options)
152
-
153
- # Is the markup language supported?
154
- if markup not in _markup_language_registry:
155
- _parse_warn('Unsupported markup language %r. Treating '
156
- 'docstrings as plaintext.' % markup)
157
- import epydoc.markup.plaintext as plaintext
158
- return plaintext.parse_docstring(docstring, errors, **options)
159
-
160
- # Get the parse function.
161
- parse_docstring = _markup_language_registry[markup]
162
-
163
- # If it's a string, then it names a function to import.
164
- if isinstance(parse_docstring, basestring):
165
- try: exec('from %s import parse_docstring' % parse_docstring)
166
- except ImportError, e:
167
- _parse_warn('Error importing %s for markup language %s: %s' %
168
- (parse_docstring, markup, e))
169
- import epydoc.markup.plaintext as plaintext
170
- return plaintext.parse_docstring(docstring, errors, **options)
171
- _markup_language_registry[markup] = parse_docstring
172
-
173
- # Keep track of which markup languages have been used so far.
174
- MARKUP_LANGUAGES_USED.add(markup)
175
-
176
- # Parse the docstring.
177
- try: parsed_docstring = parse_docstring(docstring, errors, **options)
178
- except KeyboardInterrupt: raise
179
- except Exception, e:
180
- if epydoc.DEBUG: raise
181
- log.error('Internal error while parsing a docstring: %s; '
182
- 'treating docstring as plaintext' % e)
183
- import epydoc.markup.plaintext as plaintext
184
- return plaintext.parse_docstring(docstring, errors, **options)
185
-
186
- # Check for fatal errors.
187
- fatal_errors = [e for e in errors if e.is_fatal()]
188
- if fatal_errors and raise_on_error: raise fatal_errors[0]
189
- if fatal_errors:
190
- import epydoc.markup.plaintext as plaintext
191
- return plaintext.parse_docstring(docstring, errors, **options)
192
-
193
- return parsed_docstring
194
-
195
- # only issue each warning once:
196
- _parse_warnings = {}
197
- def _parse_warn(estr):
198
- """
199
- Print a warning message. If the given error has already been
200
- printed, then do nothing.
201
- """
202
- global _parse_warnings
203
- if estr in _parse_warnings: return
204
- _parse_warnings[estr] = 1
205
- log.warning(estr)
206
-
207
- ##################################################
208
- ## ParsedDocstring
209
- ##################################################
210
- class ParsedDocstring:
211
- """
212
- A standard intermediate representation for parsed docstrings that
213
- can be used to generate output. Parsed docstrings are produced by
214
- markup parsers (such as L{epytext.parse} or L{javadoc.parse}).
215
- C{ParsedDocstring}s support several kinds of operation:
216
- - output generation (L{to_plaintext()}, L{to_html()}, and
217
- L{to_latex()}).
218
- - Summarization (L{summary()}).
219
- - Field extraction (L{split_fields()}).
220
- - Index term extraction (L{index_terms()}.
221
-
222
- The output generation methods (C{to_M{format}()}) use a
223
- L{DocstringLinker} to link the docstring output with the rest
224
- of the documentation that epydoc generates.
225
-
226
- Subclassing
227
- ===========
228
- The only method that a subclass is I{required} to implement is
229
- L{to_plaintext()}; but it is often useful to override the other
230
- methods. The default behavior of each method is described below:
231
- - C{to_I{format}}: Calls C{to_plaintext}, and uses the string it
232
- returns to generate verbatim output.
233
- - C{summary}: Returns C{self} (i.e., the entire docstring).
234
- - C{split_fields}: Returns C{(self, [])} (i.e., extracts no
235
- fields).
236
- - C{index_terms}: Returns C{[]} (i.e., extracts no index terms).
237
-
238
- If and when epydoc adds more output formats, new C{to_I{format}}
239
- methods will be added to this base class; but they will always
240
- be given a default implementation.
241
- """
242
- def split_fields(self, errors=None):
243
- """
244
- Split this docstring into its body and its fields.
245
-
246
- @return: A tuple C{(M{body}, M{fields})}, where C{M{body}} is
247
- the main body of this docstring, and C{M{fields}} is a list
248
- of its fields. If the resulting body is empty, return
249
- C{None} for the body.
250
- @rtype: C{(L{ParsedDocstring}, list of L{Field})}
251
- @param errors: A list where any errors generated during
252
- splitting will be stored. If no list is specified, then
253
- errors will be ignored.
254
- @type errors: C{list} of L{ParseError}
255
- """
256
- # Default behavior:
257
- return self, []
258
-
259
- def summary(self):
260
- """
261
- @return: A pair consisting of a short summary of this docstring and a
262
- boolean value indicating whether there is further documentation
263
- in addition to the summary. Typically, the summary consists of the
264
- first sentence of the docstring.
265
- @rtype: (L{ParsedDocstring}, C{bool})
266
- """
267
- # Default behavior:
268
- return self, False
269
-
270
- def concatenate(self, other):
271
- """
272
- @return: A new parsed docstring containing the concatination
273
- of this docstring and C{other}.
274
- @raise ValueError: If the two parsed docstrings are
275
- incompatible.
276
- """
277
- return ConcatenatedDocstring(self, other)
278
-
279
- def __add__(self, other): return self.concatenate(other)
280
-
281
- def to_html(self, docstring_linker, **options):
282
- """
283
- Translate this docstring to HTML.
284
-
285
- @param docstring_linker: An HTML translator for crossreference
286
- links into and out of the docstring.
287
- @type docstring_linker: L{DocstringLinker}
288
- @param options: Any extra options for the output. Unknown
289
- options are ignored.
290
- @return: An HTML fragment that encodes this docstring.
291
- @rtype: C{string}
292
- """
293
- # Default behavior:
294
- plaintext = plaintext_to_html(self.to_plaintext(docstring_linker))
295
- return '<pre class="literalblock">\n%s\n</pre>\n' % plaintext
296
-
297
- def to_latex(self, docstring_linker, **options):
298
- """
299
- Translate this docstring to LaTeX.
300
-
301
- @param docstring_linker: A LaTeX translator for crossreference
302
- links into and out of the docstring.
303
- @type docstring_linker: L{DocstringLinker}
304
- @param options: Any extra options for the output. Unknown
305
- options are ignored.
306
- @return: A LaTeX fragment that encodes this docstring.
307
- @rtype: C{string}
308
- """
309
- # Default behavior:
310
- plaintext = plaintext_to_latex(self.to_plaintext(docstring_linker))
311
- return '\\begin{alltt}\n%s\\end{alltt}\n\n' % plaintext
312
-
313
- def to_plaintext(self, docstring_linker, **options):
314
- """
315
- Translate this docstring to plaintext.
316
-
317
- @param docstring_linker: A plaintext translator for
318
- crossreference links into and out of the docstring.
319
- @type docstring_linker: L{DocstringLinker}
320
- @param options: Any extra options for the output. Unknown
321
- options are ignored.
322
- @return: A plaintext fragment that encodes this docstring.
323
- @rtype: C{string}
324
- """
325
- raise NotImplementedError, 'ParsedDocstring.to_plaintext()'
326
-
327
- def index_terms(self):
328
- """
329
- @return: The list of index terms that are defined in this
330
- docstring. Each of these items will be added to the index
331
- page of the documentation.
332
- @rtype: C{list} of C{ParsedDocstring}
333
- """
334
- # Default behavior:
335
- return []
336
-
337
- ##################################################
338
- ## Concatenated Docstring
339
- ##################################################
340
- class ConcatenatedDocstring:
341
- def __init__(self, *parsed_docstrings):
342
- self._parsed_docstrings = [pds for pds in parsed_docstrings
343
- if pds is not None]
344
-
345
- def split_fields(self, errors=None):
346
- bodies = []
347
- fields = []
348
- for doc in self._parsed_docstrings:
349
- b,f = doc.split_fields()
350
- bodies.append(b)
351
- fields.extend(f)
352
-
353
- return ConcatenatedDocstring(*bodies), fields
354
-
355
- def summary(self):
356
- return self._parsed_docstrings[0].summary()
357
-
358
- def to_html(self, docstring_linker, **options):
359
- htmlstring = ''
360
- for doc in self._parsed_docstrings:
361
- htmlstring += doc.to_html(docstring_linker, **options)
362
- return htmlstring
363
-
364
- def to_latex(self, docstring_linker, **options):
365
- latexstring = ''
366
- for doc in self._parsed_docstrings:
367
- latexstring += doc.to_latex(docstring_linker, **options)
368
- return latexstring
369
-
370
- def to_plaintext(self, docstring_linker, **options):
371
- textstring = ''
372
- for doc in self._parsed_docstrings:
373
- textstring += doc.to_plaintext(docstring_linker, **options)
374
- return textstring
375
-
376
- def index_terms(self):
377
- terms = []
378
- for doc in self._parsed_docstrings:
379
- terms += doc.index_terms()
380
- return terms
381
-
382
- ##################################################
383
- ## Fields
384
- ##################################################
385
- class Field:
386
- """
387
- The contents of a docstring's field. Docstring fields are used
388
- to describe specific aspects of an object, such as a parameter of
389
- a function or the author of a module. Each field consists of a
390
- tag, an optional argument, and a body:
391
- - The tag specifies the type of information that the field
392
- encodes.
393
- - The argument specifies the object that the field describes.
394
- The argument may be C{None} or a C{string}.
395
- - The body contains the field's information.
396
-
397
- Tags are automatically downcased and stripped; and arguments are
398
- automatically stripped.
399
- """
400
- def __init__(self, tag, arg, body):
401
- self._tag = tag.lower().strip()
402
- if arg is None: self._arg = None
403
- else: self._arg = arg.strip()
404
- self._body = body
405
-
406
- def tag(self):
407
- """
408
- @return: This field's tag.
409
- @rtype: C{string}
410
- """
411
- return self._tag
412
-
413
- def arg(self):
414
- """
415
- @return: This field's argument, or C{None} if this field has
416
- no argument.
417
- @rtype: C{string} or C{None}
418
- """
419
- return self._arg
420
-
421
- def body(self):
422
- """
423
- @return: This field's body.
424
- @rtype: L{ParsedDocstring}
425
- """
426
- return self._body
427
-
428
- def __repr__(self):
429
- if self._arg is None:
430
- return '<Field @%s: ...>' % self._tag
431
- else:
432
- return '<Field @%s %s: ...>' % (self._tag, self._arg)
433
-
434
- ##################################################
435
- ## Docstring Linker (resolves crossreferences)
436
- ##################################################
437
- class DocstringLinker:
438
- """
439
- A translator for crossreference links into and out of a
440
- C{ParsedDocstring}. C{DocstringLinker} is used by
441
- C{ParsedDocstring} to convert these crossreference links into
442
- appropriate output formats. For example,
443
- C{DocstringLinker.to_html} expects a C{DocstringLinker} that
444
- converts crossreference links to HTML.
445
- """
446
- def translate_indexterm(self, indexterm):
447
- """
448
- Translate an index term to the appropriate output format. The
449
- output will typically include a crossreference anchor.
450
-
451
- @type indexterm: L{ParsedDocstring}
452
- @param indexterm: The index term to translate.
453
- @rtype: C{string}
454
- @return: The translated index term.
455
- """
456
- raise NotImplementedError, 'DocstringLinker.translate_indexterm()'
457
-
458
- def translate_identifier_xref(self, identifier, label=None):
459
- """
460
- Translate a crossreference link to a Python identifier to the
461
- appropriate output format. The output will typically include
462
- a reference or pointer to the crossreference target.
463
-
464
- @type identifier: C{string}
465
- @param identifier: The name of the Python identifier that
466
- should be linked to.
467
- @type label: C{string} or C{None}
468
- @param label: The label that should be used for the identifier,
469
- if it's different from the name of the identifier.
470
- @rtype: C{string}
471
- @return: The translated crossreference link.
472
- """
473
- raise NotImplementedError, 'DocstringLinker.translate_xref()'
474
-
475
- ##################################################
476
- ## ParseError exceptions
477
- ##################################################
478
-
479
- class ParseError(Exception):
480
- """
481
- The base class for errors generated while parsing docstrings.
482
-
483
- @ivar _linenum: The line on which the error occured within the
484
- docstring. The linenum of the first line is 0.
485
- @type _linenum: C{int}
486
- @ivar _offset: The line number where the docstring begins. This
487
- offset is added to C{_linenum} when displaying the line number
488
- of the error. Default value: 1.
489
- @type _offset: C{int}
490
- @ivar _descr: A description of the error.
491
- @type _descr: C{string}
492
- @ivar _fatal: True if this is a fatal error.
493
- @type _fatal: C{boolean}
494
- """
495
- def __init__(self, descr, linenum=None, is_fatal=1):
496
- """
497
- @type descr: C{string}
498
- @param descr: A description of the error.
499
- @type linenum: C{int}
500
- @param linenum: The line on which the error occured within
501
- the docstring. The linenum of the first line is 0.
502
- @type is_fatal: C{boolean}
503
- @param is_fatal: True if this is a fatal error.
504
- """
505
- self._descr = descr
506
- self._linenum = linenum
507
- self._fatal = is_fatal
508
- self._offset = 1
509
-
510
- def is_fatal(self):
511
- """
512
- @return: true if this is a fatal error. If an error is fatal,
513
- then epydoc should ignore the output of the parser, and
514
- parse the docstring as plaintext.
515
- @rtype: C{boolean}
516
- """
517
- return self._fatal
518
-
519
- def linenum(self):
520
- """
521
- @return: The line number on which the error occured (including
522
- any offset). If the line number is unknown, then return
523
- C{None}.
524
- @rtype: C{int} or C{None}
525
- """
526
- if self._linenum is None: return None
527
- else: return self._offset + self._linenum
528
-
529
- def set_linenum_offset(self, offset):
530
- """
531
- Set the line number offset for this error. This offset is the
532
- line number where the docstring begins. This offset is added
533
- to C{_linenum} when displaying the line number of the error.
534
-
535
- @param offset: The new line number offset.
536
- @type offset: C{int}
537
- @rtype: C{None}
538
- """
539
- self._offset = offset
540
-
541
- def descr(self):
542
- return self._descr
543
-
544
- def __str__(self):
545
- """
546
- Return a string representation of this C{ParseError}. This
547
- multi-line string contains a description of the error, and
548
- specifies where it occured.
549
-
550
- @return: the informal representation of this C{ParseError}.
551
- @rtype: C{string}
552
- """
553
- if self._linenum is not None:
554
- return 'Line %s: %s' % (self._linenum+self._offset, self.descr())
555
- else:
556
- return self.descr()
557
-
558
- def __repr__(self):
559
- """
560
- Return the formal representation of this C{ParseError}.
561
- C{ParseError}s have formal representations of the form::
562
- <ParseError on line 12>
563
-
564
- @return: the formal representation of this C{ParseError}.
565
- @rtype: C{string}
566
- """
567
- if self._linenum is None:
568
- return '<ParseError on line %d' % self._offset
569
- else:
570
- return '<ParseError on line %d>' % (self._linenum+self._offset)
571
-
572
- def __cmp__(self, other):
573
- """
574
- Compare two C{ParseError}s, based on their line number.
575
- - Return -1 if C{self.linenum<other.linenum}
576
- - Return +1 if C{self.linenum>other.linenum}
577
- - Return 0 if C{self.linenum==other.linenum}.
578
- The return value is undefined if C{other} is not a
579
- ParseError.
580
-
581
- @rtype: C{int}
582
- """
583
- if not isinstance(other, ParseError): return -1000
584
- return cmp(self._linenum+self._offset,
585
- other._linenum+other._offset)
586
-
587
- ##################################################
588
- ## Misc helpers
589
- ##################################################
590
- # These are used by multiple markup parsers
591
-
592
- def parse_type_of(obj):
593
- """
594
- @return: A C{ParsedDocstring} that encodes the type of the given
595
- object.
596
- @rtype: L{ParsedDocstring}
597
- @param obj: The object whose type should be returned as DOM document.
598
- @type obj: any
599
- """
600
- # This is a bit hackish; oh well. :)
601
- from epydoc.markup.epytext import ParsedEpytextDocstring
602
- from xml.dom.minidom import Document
603
- doc = Document()
604
- epytext = doc.createElement('epytext')
605
- para = doc.createElement('para')
606
- doc.appendChild(epytext)
607
- epytext.appendChild(para)
608
-
609
- if type(obj) is types.InstanceType:
610
- link = doc.createElement('link')
611
- name = doc.createElement('name')
612
- target = doc.createElement('target')
613
- para.appendChild(link)
614
- link.appendChild(name)
615
- link.appendChild(target)
616
- name.appendChild(doc.createTextNode(str(obj.__class__.__name__)))
617
- target.appendChild(doc.createTextNode(str(obj.__class__)))
618
- else:
619
- code = doc.createElement('code')
620
- para.appendChild(code)
621
- code.appendChild(doc.createTextNode(type(obj).__name__))
622
- return ParsedEpytextDocstring(doc)
623
-
Binary file