exercism-analysis 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (579) hide show
  1. checksums.yaml +7 -0
  2. data/exercism-analysis.gemspec +30 -0
  3. data/lib/exercism-analysis.rb +38 -0
  4. data/lib/exercism-analysis/adapters/adapter.rb +23 -0
  5. data/lib/exercism-analysis/adapters/clojure.rb +13 -0
  6. data/lib/exercism-analysis/adapters/go.rb +19 -0
  7. data/lib/exercism-analysis/adapters/javascript.rb +13 -0
  8. data/lib/exercism-analysis/adapters/python.rb +13 -0
  9. data/lib/exercism-analysis/adapters/ruby.rb +19 -0
  10. data/lib/exercism-analysis/analysis.rb +18 -0
  11. data/lib/exercism-analysis/analyzers/analyzer.rb +54 -0
  12. data/lib/exercism-analysis/analyzers/clojure/kibit.rb +25 -0
  13. data/lib/exercism-analysis/analyzers/go/golint.rb +23 -0
  14. data/lib/exercism-analysis/analyzers/javascript/jslint.rb +24 -0
  15. data/lib/exercism-analysis/analyzers/python/pylint.rb +24 -0
  16. data/lib/exercism-analysis/analyzers/ruby/control_flow.rb +21 -0
  17. data/lib/exercism-analysis/analyzers/ruby/enumerable_condition.rb +21 -0
  18. data/lib/exercism-analysis/analyzers/ruby/for_loop.rb +29 -0
  19. data/lib/exercism-analysis/analyzers/ruby/indentation.rb +21 -0
  20. data/lib/exercism-analysis/analyzers/ruby/iter_mutation.rb +37 -0
  21. data/lib/exercism-analysis/analyzers/ruby/output.rb +20 -0
  22. data/lib/exercism-analysis/analyzers/ruby/range.rb +28 -0
  23. data/lib/exercism-analysis/analyzers/ruby/roodi.rb +19 -0
  24. data/lib/exercism-analysis/analyzers/ruby/send.rb +25 -0
  25. data/lib/exercism-analysis/analyzers/ruby/shebang.rb +23 -0
  26. data/lib/exercism-analysis/analyzers/ruby/tab.rb +38 -0
  27. data/lib/exercism-analysis/processors/call_processor.rb +39 -0
  28. data/lib/exercism-analysis/processors/control_flow_processor.rb +27 -0
  29. data/lib/exercism-analysis/processors/enumerable_condition_processor.rb +31 -0
  30. data/lib/exercism-analysis/processors/for_loop_processor.rb +21 -0
  31. data/lib/exercism-analysis/processors/indentation_processor.rb +69 -0
  32. data/lib/exercism-analysis/processors/iter_mutation_processor.rb +50 -0
  33. data/lib/exercism-analysis/processors/processor.rb +34 -0
  34. data/lib/exercism-analysis/processors/range_processor.rb +23 -0
  35. data/lib/exercism-analysis/processors/send_processor.rb +23 -0
  36. data/lib/exercism-analysis/templates/each_to_map.rb +29 -0
  37. data/lib/exercism-analysis/templates/each_to_select.rb +31 -0
  38. data/lib/exercism-analysis/templates/range_exclusive.rb +19 -0
  39. data/lib/exercism-analysis/templates/template.rb +29 -0
  40. data/vendor/clojure/kibit-runner/LICENSE +214 -0
  41. data/vendor/clojure/kibit-runner/project.clj +10 -0
  42. data/vendor/clojure/kibit-runner/src/kibit_runner/core.clj +17 -0
  43. data/vendor/clojure/kibit-runner/target/kibit-runner-0.1.0-SNAPSHOT-standalone.jar +0 -0
  44. data/vendor/clojure/kibit-runner/target/kibit-runner-0.1.0-SNAPSHOT.jar +0 -0
  45. data/vendor/clojure/kibit-runner/target/stale/extract-native.dependencies +1 -0
  46. data/vendor/go/src/github.com/golang/lint/LICENSE +27 -0
  47. data/vendor/go/src/github.com/golang/lint/README +59 -0
  48. data/vendor/go/src/github.com/golang/lint/golint/golint.go +67 -0
  49. data/vendor/go/src/github.com/golang/lint/lint.go +1061 -0
  50. data/vendor/go/src/runner/golint_runner.go +23 -0
  51. data/vendor/javascript/jshint_runner.js +6 -0
  52. data/vendor/javascript/node_modules/jshint/README.md +47 -0
  53. data/vendor/javascript/node_modules/jshint/bin/apply +6 -0
  54. data/vendor/javascript/node_modules/jshint/bin/build +36 -0
  55. data/vendor/javascript/node_modules/jshint/bin/changelog +36 -0
  56. data/vendor/javascript/node_modules/jshint/bin/jshint +3 -0
  57. data/vendor/javascript/node_modules/jshint/bin/land +34 -0
  58. data/vendor/javascript/node_modules/jshint/data/ascii-identifier-data.js +22 -0
  59. data/vendor/javascript/node_modules/jshint/data/non-ascii-identifier-part-only.js +1570 -0
  60. data/vendor/javascript/node_modules/jshint/data/non-ascii-identifier-start.js +48477 -0
  61. data/vendor/javascript/node_modules/jshint/dist/jshint-rhino.js +60642 -0
  62. data/vendor/javascript/node_modules/jshint/dist/jshint.js +60525 -0
  63. data/vendor/javascript/node_modules/jshint/node_modules/cli/README.md +196 -0
  64. data/vendor/javascript/node_modules/jshint/node_modules/cli/cli.js +1139 -0
  65. data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/cat.js +17 -0
  66. data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/command.js +16 -0
  67. data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/echo.js +54 -0
  68. data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/glob.js +6 -0
  69. data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/long_desc.js +20 -0
  70. data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/progress.js +11 -0
  71. data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/sort.js +18 -0
  72. data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/spinner.js +9 -0
  73. data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/static.coffee +27 -0
  74. data/vendor/javascript/node_modules/jshint/node_modules/cli/examples/static.js +25 -0
  75. data/vendor/javascript/node_modules/jshint/node_modules/cli/index.js +1 -0
  76. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/LICENSE +27 -0
  77. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/README.md +250 -0
  78. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/examples/g.js +9 -0
  79. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/examples/usr-local.js +9 -0
  80. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/glob.js +728 -0
  81. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/LICENSE +16 -0
  82. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/README.md +42 -0
  83. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/inherits.js +1 -0
  84. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/inherits_browser.js +23 -0
  85. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/package.json +51 -0
  86. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/node_modules/inherits/test.js +25 -0
  87. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/package.json +58 -0
  88. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/00-setup.js +176 -0
  89. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/bash-comparison.js +63 -0
  90. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/bash-results.json +351 -0
  91. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/cwd-test.js +55 -0
  92. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/globstar-match.js +19 -0
  93. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/mark.js +118 -0
  94. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/new-glob-optional-options.js +10 -0
  95. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/nocase-nomagic.js +113 -0
  96. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/pause-resume.js +73 -0
  97. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/readme-issue.js +36 -0
  98. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/root-nomount.js +39 -0
  99. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/root.js +46 -0
  100. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/stat.js +32 -0
  101. data/vendor/javascript/node_modules/jshint/node_modules/cli/node_modules/glob/test/zz-cleanup.js +11 -0
  102. data/vendor/javascript/node_modules/jshint/node_modules/cli/package.json +70 -0
  103. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/LICENCE +19 -0
  104. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/README.md +33 -0
  105. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/index.js +86 -0
  106. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/LICENCE +19 -0
  107. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/README.md +45 -0
  108. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/index.js +5 -0
  109. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/package.json +89 -0
  110. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/seed.js +16 -0
  111. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/test/index.js +28 -0
  112. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/node_modules/date-now/test/static/index.html +10 -0
  113. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/package.json +88 -0
  114. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/test/index.js +67 -0
  115. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/test/static/index.html +12 -0
  116. data/vendor/javascript/node_modules/jshint/node_modules/console-browserify/test/static/test-adapter.js +53 -0
  117. data/vendor/javascript/node_modules/jshint/node_modules/exit/Gruntfile.js +48 -0
  118. data/vendor/javascript/node_modules/jshint/node_modules/exit/LICENSE-MIT +22 -0
  119. data/vendor/javascript/node_modules/jshint/node_modules/exit/README.md +75 -0
  120. data/vendor/javascript/node_modules/jshint/node_modules/exit/lib/exit.js +41 -0
  121. data/vendor/javascript/node_modules/jshint/node_modules/exit/package.json +69 -0
  122. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/exit_test.js +121 -0
  123. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/10-stderr.txt +10 -0
  124. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/10-stdout-stderr.txt +20 -0
  125. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/10-stdout.txt +10 -0
  126. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/100-stderr.txt +100 -0
  127. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/100-stdout-stderr.txt +200 -0
  128. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/100-stdout.txt +100 -0
  129. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/1000-stderr.txt +1000 -0
  130. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/1000-stdout-stderr.txt +2000 -0
  131. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/1000-stdout.txt +1000 -0
  132. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/create-files.sh +8 -0
  133. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/log-broken.js +23 -0
  134. data/vendor/javascript/node_modules/jshint/node_modules/exit/test/fixtures/log.js +25 -0
  135. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/LICENSE +18 -0
  136. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/README.md +83 -0
  137. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/CollectingHandler.js +55 -0
  138. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/FeedHandler.js +95 -0
  139. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/Parser.js +337 -0
  140. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/ProxyHandler.js +27 -0
  141. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/Stream.js +35 -0
  142. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/Tokenizer.js +891 -0
  143. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/WritableStream.js +21 -0
  144. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/lib/index.js +68 -0
  145. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domelementtype/LICENSE +11 -0
  146. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domelementtype/index.js +14 -0
  147. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domelementtype/package.json +40 -0
  148. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domelementtype/readme.md +1 -0
  149. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/LICENSE +11 -0
  150. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/index.js +211 -0
  151. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/package.json +68 -0
  152. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/readme.md +102 -0
  153. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/01-basic.json +57 -0
  154. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/02-single_tag_1.json +21 -0
  155. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/03-single_tag_2.json +21 -0
  156. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/04-unescaped_in_script.json +27 -0
  157. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/05-tags_in_comment.json +18 -0
  158. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/06-comment_in_script.json +18 -0
  159. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/07-unescaped_in_style.json +20 -0
  160. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/08-extra_spaces_in_tag.json +20 -0
  161. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/09-unquoted_attrib.json +20 -0
  162. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/10-singular_attribute.json +15 -0
  163. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/11-text_outside_tags.json +40 -0
  164. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/12-text_only.json +11 -0
  165. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/13-comment_in_text.json +19 -0
  166. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/14-comment_in_text_in_script.json +18 -0
  167. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/15-non-verbose.json +22 -0
  168. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/16-normalize_whitespace.json +47 -0
  169. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/17-xml_namespace.json +18 -0
  170. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/18-enforce_empty_tags.json +16 -0
  171. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/19-ignore_empty_tags.json +20 -0
  172. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/20-template_script_tags.json +20 -0
  173. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/21-conditional_comments.json +15 -0
  174. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/22-lowercase_tags.json +41 -0
  175. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/cases/23-dom-lvl1.json +121 -0
  176. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domhandler/test/tests.js +58 -0
  177. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/LICENSE +11 -0
  178. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/index.js +14 -0
  179. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/helpers.js +141 -0
  180. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/legacy.js +87 -0
  181. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/manipulation.js +77 -0
  182. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/querying.js +94 -0
  183. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/stringify.js +93 -0
  184. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/lib/traversal.js +24 -0
  185. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/package.json +71 -0
  186. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/readme.md +1 -0
  187. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/test/fixture.js +6 -0
  188. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/test/tests/helpers.js +89 -0
  189. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/test/tests/legacy.js +119 -0
  190. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/domutils/test/utils.js +9 -0
  191. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/LICENSE +11 -0
  192. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/index.js +31 -0
  193. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/lib/decode.js +72 -0
  194. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/lib/decode_codepoint.js +26 -0
  195. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/lib/encode.js +48 -0
  196. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/maps/decode.json +1 -0
  197. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/maps/entities.json +1 -0
  198. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/maps/legacy.json +1 -0
  199. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/maps/xml.json +1 -0
  200. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/package.json +79 -0
  201. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/readme.md +31 -0
  202. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/test/mocha.opts +2 -0
  203. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/entities/test/test.js +150 -0
  204. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/LICENSE +18 -0
  205. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/README.md +15 -0
  206. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/duplex.js +1 -0
  207. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/float.patch +923 -0
  208. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_duplex.js +89 -0
  209. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_passthrough.js +46 -0
  210. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_readable.js +944 -0
  211. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_transform.js +209 -0
  212. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_writable.js +472 -0
  213. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/README.md +3 -0
  214. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/float.patch +604 -0
  215. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/lib/util.js +107 -0
  216. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/package.json +53 -0
  217. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/util.js +106 -0
  218. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/LICENSE +16 -0
  219. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/README.md +42 -0
  220. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/inherits.js +1 -0
  221. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/inherits_browser.js +23 -0
  222. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/package.json +51 -0
  223. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/test.js +25 -0
  224. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/README.md +54 -0
  225. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/build/build.js +209 -0
  226. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/component.json +19 -0
  227. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/index.js +3 -0
  228. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/isarray/package.json +54 -0
  229. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/string_decoder/LICENSE +20 -0
  230. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/string_decoder/README.md +7 -0
  231. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/string_decoder/index.js +200 -0
  232. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/node_modules/string_decoder/package.json +53 -0
  233. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/package.json +68 -0
  234. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/passthrough.js +1 -0
  235. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/readable.js +7 -0
  236. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/transform.js +1 -0
  237. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/node_modules/readable-stream/writable.js +1 -0
  238. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/package.json +90 -0
  239. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/01-events.js +9 -0
  240. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/02-stream.js +23 -0
  241. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/03-feed.js +19 -0
  242. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Documents/Atom_Example.xml +25 -0
  243. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Documents/Attributes.html +16 -0
  244. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Documents/Basic.html +1 -0
  245. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Documents/RDF_Example.xml +63 -0
  246. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Documents/RSS_Example.xml +48 -0
  247. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/01-simple.json +44 -0
  248. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/02-template.json +63 -0
  249. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/03-lowercase_tags.json +46 -0
  250. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/04-cdata.json +50 -0
  251. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/05-cdata-special.json +35 -0
  252. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/06-leading-lt.json +16 -0
  253. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/07-self-closing.json +67 -0
  254. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/08-implicit-close-tags.json +59 -0
  255. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/09-attributes.json +68 -0
  256. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/10-crazy-attrib.json +52 -0
  257. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/11-script_in_script.json +54 -0
  258. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/12-long-comment-end.json +20 -0
  259. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/13-long-cdata-end.json +22 -0
  260. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/14-implicit-open-tags.json +27 -0
  261. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/15-lt-whitespace.json +16 -0
  262. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/16-double_attribs.json +45 -0
  263. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/17-numeric_entities.json +16 -0
  264. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/18-legacy_entities.json +16 -0
  265. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/19-named_entities.json +16 -0
  266. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/20-xml_entities.json +16 -0
  267. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/21-entity_in_attribute.json +38 -0
  268. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/22-double_brackets.json +41 -0
  269. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/23-legacy_entity_fail.json +16 -0
  270. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/24-special_special.json +133 -0
  271. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/25-empty_tag_name.json +13 -0
  272. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/26-not-quite-closed.json +35 -0
  273. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/27-entities_in_attributes.json +62 -0
  274. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/28-cdata_in_html.json +9 -0
  275. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/29-comment_edge-cases.json +18 -0
  276. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Events/30-cdata_edge-cases.json +22 -0
  277. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Feeds/01-rss.js +34 -0
  278. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Feeds/02-atom.js +18 -0
  279. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Feeds/03-rdf.js +20 -0
  280. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Stream/01-basic.json +83 -0
  281. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Stream/02-RSS.json +1093 -0
  282. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Stream/03-Atom.json +644 -0
  283. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Stream/04-RDF.json +1399 -0
  284. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/Stream/05-Attributes.json +354 -0
  285. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/api.js +63 -0
  286. data/vendor/javascript/node_modules/jshint/node_modules/htmlparser2/test/test-helper.js +83 -0
  287. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/LICENSE +23 -0
  288. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/README.md +218 -0
  289. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/minimatch.js +1061 -0
  290. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS +14 -0
  291. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/LICENSE +23 -0
  292. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/README.md +97 -0
  293. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js +252 -0
  294. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/package.json +50 -0
  295. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/test/basic.js +369 -0
  296. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/test/foreach.js +52 -0
  297. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js +50 -0
  298. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/LICENSE +27 -0
  299. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/README.md +53 -0
  300. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/bench.js +283 -0
  301. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/package.json +58 -0
  302. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/sigmund.js +39 -0
  303. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/node_modules/sigmund/test/basic.js +24 -0
  304. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/package.json +57 -0
  305. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/test/basic.js +399 -0
  306. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/test/brace-expand.js +33 -0
  307. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/test/caching.js +14 -0
  308. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/test/defaults.js +274 -0
  309. data/vendor/javascript/node_modules/jshint/node_modules/minimatch/test/extglob-ending-with-state-char.js +8 -0
  310. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/LICENSE +26 -0
  311. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/README.md +569 -0
  312. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/bin/shjs +51 -0
  313. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/global.js +3 -0
  314. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/make.js +47 -0
  315. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/package.json +61 -0
  316. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/scripts/generate-docs.js +21 -0
  317. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/scripts/run-tests.js +50 -0
  318. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/shell.js +157 -0
  319. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/cat.js +43 -0
  320. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/cd.js +19 -0
  321. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/chmod.js +208 -0
  322. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/common.js +203 -0
  323. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/cp.js +201 -0
  324. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/dirs.js +191 -0
  325. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/echo.js +20 -0
  326. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/error.js +10 -0
  327. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/exec.js +181 -0
  328. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/find.js +51 -0
  329. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/grep.js +52 -0
  330. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/ln.js +53 -0
  331. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/ls.js +126 -0
  332. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/mkdir.js +68 -0
  333. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/mv.js +80 -0
  334. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/popd.js +1 -0
  335. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/pushd.js +1 -0
  336. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/pwd.js +11 -0
  337. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/rm.js +145 -0
  338. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/sed.js +43 -0
  339. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/tempdir.js +56 -0
  340. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/test.js +85 -0
  341. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/to.js +29 -0
  342. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/toEnd.js +29 -0
  343. data/vendor/javascript/node_modules/jshint/node_modules/shelljs/src/which.js +83 -0
  344. data/vendor/javascript/node_modules/jshint/node_modules/strip-json-comments/cli.js +41 -0
  345. data/vendor/javascript/node_modules/jshint/node_modules/strip-json-comments/package.json +76 -0
  346. data/vendor/javascript/node_modules/jshint/node_modules/strip-json-comments/readme.md +74 -0
  347. data/vendor/javascript/node_modules/jshint/node_modules/strip-json-comments/strip-json-comments.js +64 -0
  348. data/vendor/javascript/node_modules/jshint/node_modules/underscore/LICENSE +23 -0
  349. data/vendor/javascript/node_modules/jshint/node_modules/underscore/README.md +22 -0
  350. data/vendor/javascript/node_modules/jshint/node_modules/underscore/package.json +66 -0
  351. data/vendor/javascript/node_modules/jshint/node_modules/underscore/underscore-min.js +6 -0
  352. data/vendor/javascript/node_modules/jshint/node_modules/underscore/underscore.js +1343 -0
  353. data/vendor/javascript/node_modules/jshint/package.json +80 -0
  354. data/vendor/javascript/node_modules/jshint/src/cli.js +731 -0
  355. data/vendor/javascript/node_modules/jshint/src/jshint.js +5023 -0
  356. data/vendor/javascript/node_modules/jshint/src/lex.js +1650 -0
  357. data/vendor/javascript/node_modules/jshint/src/messages.js +223 -0
  358. data/vendor/javascript/node_modules/jshint/src/platforms/rhino.js +115 -0
  359. data/vendor/javascript/node_modules/jshint/src/reg.js +38 -0
  360. data/vendor/javascript/node_modules/jshint/src/reporters/checkstyle.js +81 -0
  361. data/vendor/javascript/node_modules/jshint/src/reporters/default.js +34 -0
  362. data/vendor/javascript/node_modules/jshint/src/reporters/jslint_xml.js +57 -0
  363. data/vendor/javascript/node_modules/jshint/src/reporters/non_error.js +52 -0
  364. data/vendor/javascript/node_modules/jshint/src/state.js +28 -0
  365. data/vendor/javascript/node_modules/jshint/src/style.js +143 -0
  366. data/vendor/javascript/node_modules/jshint/src/vars.js +658 -0
  367. data/vendor/python/astroid/COPYING +339 -0
  368. data/vendor/python/astroid/COPYING.LESSER +510 -0
  369. data/vendor/python/astroid/ChangeLog +574 -0
  370. data/vendor/python/astroid/MANIFEST.in +9 -0
  371. data/vendor/python/astroid/README +56 -0
  372. data/vendor/python/astroid/README.Python3 +26 -0
  373. data/vendor/python/astroid/__init__.py +118 -0
  374. data/vendor/python/astroid/__init__.pyc +0 -0
  375. data/vendor/python/astroid/__pkginfo__.py +48 -0
  376. data/vendor/python/astroid/__pkginfo__.pyc +0 -0
  377. data/vendor/python/astroid/announce.txt +23 -0
  378. data/vendor/python/astroid/as_string.py +496 -0
  379. data/vendor/python/astroid/as_string.pyc +0 -0
  380. data/vendor/python/astroid/bases.py +618 -0
  381. data/vendor/python/astroid/bases.pyc +0 -0
  382. data/vendor/python/astroid/brain/py2gi.py +159 -0
  383. data/vendor/python/astroid/brain/py2gi.pyc +0 -0
  384. data/vendor/python/astroid/brain/py2mechanize.py +20 -0
  385. data/vendor/python/astroid/brain/py2mechanize.pyc +0 -0
  386. data/vendor/python/astroid/brain/py2qt4.py +25 -0
  387. data/vendor/python/astroid/brain/py2qt4.pyc +0 -0
  388. data/vendor/python/astroid/brain/py2stdlib.py +252 -0
  389. data/vendor/python/astroid/brain/py2stdlib.pyc +0 -0
  390. data/vendor/python/astroid/builder.py +238 -0
  391. data/vendor/python/astroid/builder.pyc +0 -0
  392. data/vendor/python/astroid/exceptions.py +51 -0
  393. data/vendor/python/astroid/exceptions.pyc +0 -0
  394. data/vendor/python/astroid/inference.py +393 -0
  395. data/vendor/python/astroid/inference.pyc +0 -0
  396. data/vendor/python/astroid/inspector.py +275 -0
  397. data/vendor/python/astroid/manager.py +336 -0
  398. data/vendor/python/astroid/manager.pyc +0 -0
  399. data/vendor/python/astroid/mixins.py +122 -0
  400. data/vendor/python/astroid/mixins.pyc +0 -0
  401. data/vendor/python/astroid/node_classes.py +928 -0
  402. data/vendor/python/astroid/node_classes.pyc +0 -0
  403. data/vendor/python/astroid/nodes.py +73 -0
  404. data/vendor/python/astroid/nodes.pyc +0 -0
  405. data/vendor/python/astroid/protocols.py +322 -0
  406. data/vendor/python/astroid/protocols.pyc +0 -0
  407. data/vendor/python/astroid/raw_building.py +361 -0
  408. data/vendor/python/astroid/raw_building.pyc +0 -0
  409. data/vendor/python/astroid/rebuilder.py +954 -0
  410. data/vendor/python/astroid/rebuilder.pyc +0 -0
  411. data/vendor/python/astroid/scoped_nodes.py +1118 -0
  412. data/vendor/python/astroid/scoped_nodes.pyc +0 -0
  413. data/vendor/python/astroid/setup.py +184 -0
  414. data/vendor/python/astroid/tox.ini +10 -0
  415. data/vendor/python/astroid/utils.py +236 -0
  416. data/vendor/python/astroid/utils.pyc +0 -0
  417. data/vendor/python/logilab/__init__.py +0 -0
  418. data/vendor/python/logilab/__init__.pyc +0 -0
  419. data/vendor/python/logilab/common/COPYING +339 -0
  420. data/vendor/python/logilab/common/COPYING.LESSER +510 -0
  421. data/vendor/python/logilab/common/ChangeLog +1517 -0
  422. data/vendor/python/logilab/common/MANIFEST.in +13 -0
  423. data/vendor/python/logilab/common/README +185 -0
  424. data/vendor/python/logilab/common/README.Python3 +29 -0
  425. data/vendor/python/logilab/common/__init__.py +171 -0
  426. data/vendor/python/logilab/common/__init__.pyc +0 -0
  427. data/vendor/python/logilab/common/__pkginfo__.py +53 -0
  428. data/vendor/python/logilab/common/__pkginfo__.pyc +0 -0
  429. data/vendor/python/logilab/common/announce.txt +25 -0
  430. data/vendor/python/logilab/common/bin/pytest +7 -0
  431. data/vendor/python/logilab/common/bin/pytest.bat +17 -0
  432. data/vendor/python/logilab/common/cache.py +114 -0
  433. data/vendor/python/logilab/common/changelog.py +236 -0
  434. data/vendor/python/logilab/common/changelog.pyc +0 -0
  435. data/vendor/python/logilab/common/clcommands.py +332 -0
  436. data/vendor/python/logilab/common/cli.py +208 -0
  437. data/vendor/python/logilab/common/compat.py +243 -0
  438. data/vendor/python/logilab/common/compat.pyc +0 -0
  439. data/vendor/python/logilab/common/configuration.py +1094 -0
  440. data/vendor/python/logilab/common/configuration.pyc +0 -0
  441. data/vendor/python/logilab/common/contexts.py +5 -0
  442. data/vendor/python/logilab/common/corbautils.py +117 -0
  443. data/vendor/python/logilab/common/daemon.py +100 -0
  444. data/vendor/python/logilab/common/date.py +333 -0
  445. data/vendor/python/logilab/common/dbf.py +229 -0
  446. data/vendor/python/logilab/common/debugger.py +210 -0
  447. data/vendor/python/logilab/common/decorators.py +281 -0
  448. data/vendor/python/logilab/common/decorators.pyc +0 -0
  449. data/vendor/python/logilab/common/deprecation.py +188 -0
  450. data/vendor/python/logilab/common/deprecation.pyc +0 -0
  451. data/vendor/python/logilab/common/fileutils.py +402 -0
  452. data/vendor/python/logilab/common/graph.py +276 -0
  453. data/vendor/python/logilab/common/graph.pyc +0 -0
  454. data/vendor/python/logilab/common/hg.py +130 -0
  455. data/vendor/python/logilab/common/interface.py +71 -0
  456. data/vendor/python/logilab/common/interface.pyc +0 -0
  457. data/vendor/python/logilab/common/logging_ext.py +193 -0
  458. data/vendor/python/logilab/common/modutils.py +695 -0
  459. data/vendor/python/logilab/common/modutils.pyc +0 -0
  460. data/vendor/python/logilab/common/optik_ext.py +391 -0
  461. data/vendor/python/logilab/common/optik_ext.pyc +0 -0
  462. data/vendor/python/logilab/common/optparser.py +90 -0
  463. data/vendor/python/logilab/common/proc.py +277 -0
  464. data/vendor/python/logilab/common/pyro_ext.py +180 -0
  465. data/vendor/python/logilab/common/pytest.py +1177 -0
  466. data/vendor/python/logilab/common/python-logilab-common.spec +184 -0
  467. data/vendor/python/logilab/common/registry.py +1113 -0
  468. data/vendor/python/logilab/common/setup.cfg +3 -0
  469. data/vendor/python/logilab/common/setup.py +189 -0
  470. data/vendor/python/logilab/common/shellutils.py +455 -0
  471. data/vendor/python/logilab/common/sphinx_ext.py +87 -0
  472. data/vendor/python/logilab/common/sphinxutils.py +122 -0
  473. data/vendor/python/logilab/common/table.py +925 -0
  474. data/vendor/python/logilab/common/tasksqueue.py +100 -0
  475. data/vendor/python/logilab/common/textutils.py +534 -0
  476. data/vendor/python/logilab/common/textutils.pyc +0 -0
  477. data/vendor/python/logilab/common/tree.py +369 -0
  478. data/vendor/python/logilab/common/tree.pyc +0 -0
  479. data/vendor/python/logilab/common/umessage.py +190 -0
  480. data/vendor/python/logilab/common/ureports/__init__.py +174 -0
  481. data/vendor/python/logilab/common/ureports/__init__.pyc +0 -0
  482. data/vendor/python/logilab/common/ureports/docbook_writer.py +139 -0
  483. data/vendor/python/logilab/common/ureports/html_writer.py +131 -0
  484. data/vendor/python/logilab/common/ureports/html_writer.pyc +0 -0
  485. data/vendor/python/logilab/common/ureports/nodes.py +201 -0
  486. data/vendor/python/logilab/common/ureports/nodes.pyc +0 -0
  487. data/vendor/python/logilab/common/ureports/text_writer.py +140 -0
  488. data/vendor/python/logilab/common/ureports/text_writer.pyc +0 -0
  489. data/vendor/python/logilab/common/urllib2ext.py +87 -0
  490. data/vendor/python/logilab/common/vcgutils.py +216 -0
  491. data/vendor/python/logilab/common/visitor.py +107 -0
  492. data/vendor/python/logilab/common/visitor.pyc +0 -0
  493. data/vendor/python/logilab/common/xmlrpcutils.py +131 -0
  494. data/vendor/python/logilab/common/xmlutils.py +61 -0
  495. data/vendor/python/pylint/CONTRIBUTORS.txt +38 -0
  496. data/vendor/python/pylint/COPYING +340 -0
  497. data/vendor/python/pylint/ChangeLog +1437 -0
  498. data/vendor/python/pylint/DEPENDS +3 -0
  499. data/vendor/python/pylint/MANIFEST.in +14 -0
  500. data/vendor/python/pylint/README +50 -0
  501. data/vendor/python/pylint/README.Python3 +37 -0
  502. data/vendor/python/pylint/__init__.py +44 -0
  503. data/vendor/python/pylint/__init__.pyc +0 -0
  504. data/vendor/python/pylint/__main__.py +3 -0
  505. data/vendor/python/pylint/__pkginfo__.py +74 -0
  506. data/vendor/python/pylint/__pkginfo__.pyc +0 -0
  507. data/vendor/python/pylint/bin/epylint +3 -0
  508. data/vendor/python/pylint/bin/epylint.bat +5 -0
  509. data/vendor/python/pylint/bin/pylint +3 -0
  510. data/vendor/python/pylint/bin/pylint-gui +3 -0
  511. data/vendor/python/pylint/bin/pylint-gui.bat +5 -0
  512. data/vendor/python/pylint/bin/pylint.bat +5 -0
  513. data/vendor/python/pylint/bin/pyreverse +3 -0
  514. data/vendor/python/pylint/bin/pyreverse.bat +5 -0
  515. data/vendor/python/pylint/bin/symilar +3 -0
  516. data/vendor/python/pylint/bin/symilar.bat +5 -0
  517. data/vendor/python/pylint/checkers/__init__.py +145 -0
  518. data/vendor/python/pylint/checkers/__init__.pyc +0 -0
  519. data/vendor/python/pylint/checkers/base.py +1141 -0
  520. data/vendor/python/pylint/checkers/base.pyc +0 -0
  521. data/vendor/python/pylint/checkers/classes.py +792 -0
  522. data/vendor/python/pylint/checkers/classes.pyc +0 -0
  523. data/vendor/python/pylint/checkers/design_analysis.py +367 -0
  524. data/vendor/python/pylint/checkers/design_analysis.pyc +0 -0
  525. data/vendor/python/pylint/checkers/exceptions.py +306 -0
  526. data/vendor/python/pylint/checkers/exceptions.pyc +0 -0
  527. data/vendor/python/pylint/checkers/format.py +943 -0
  528. data/vendor/python/pylint/checkers/format.pyc +0 -0
  529. data/vendor/python/pylint/checkers/imports.py +394 -0
  530. data/vendor/python/pylint/checkers/imports.pyc +0 -0
  531. data/vendor/python/pylint/checkers/logging.py +213 -0
  532. data/vendor/python/pylint/checkers/logging.pyc +0 -0
  533. data/vendor/python/pylint/checkers/misc.py +90 -0
  534. data/vendor/python/pylint/checkers/misc.pyc +0 -0
  535. data/vendor/python/pylint/checkers/newstyle.py +151 -0
  536. data/vendor/python/pylint/checkers/newstyle.pyc +0 -0
  537. data/vendor/python/pylint/checkers/raw_metrics.py +129 -0
  538. data/vendor/python/pylint/checkers/raw_metrics.pyc +0 -0
  539. data/vendor/python/pylint/checkers/similar.py +365 -0
  540. data/vendor/python/pylint/checkers/similar.pyc +0 -0
  541. data/vendor/python/pylint/checkers/stdlib.py +69 -0
  542. data/vendor/python/pylint/checkers/stdlib.pyc +0 -0
  543. data/vendor/python/pylint/checkers/strings.py +304 -0
  544. data/vendor/python/pylint/checkers/strings.pyc +0 -0
  545. data/vendor/python/pylint/checkers/typecheck.py +451 -0
  546. data/vendor/python/pylint/checkers/typecheck.pyc +0 -0
  547. data/vendor/python/pylint/checkers/utils.py +416 -0
  548. data/vendor/python/pylint/checkers/utils.pyc +0 -0
  549. data/vendor/python/pylint/checkers/variables.py +741 -0
  550. data/vendor/python/pylint/checkers/variables.pyc +0 -0
  551. data/vendor/python/pylint/config.py +156 -0
  552. data/vendor/python/pylint/config.pyc +0 -0
  553. data/vendor/python/pylint/epylint.py +175 -0
  554. data/vendor/python/pylint/gui.py +508 -0
  555. data/vendor/python/pylint/interfaces.py +72 -0
  556. data/vendor/python/pylint/interfaces.pyc +0 -0
  557. data/vendor/python/pylint/lint.py +1106 -0
  558. data/vendor/python/pylint/lint.pyc +0 -0
  559. data/vendor/python/pylint/pyreverse/__init__.py +5 -0
  560. data/vendor/python/pylint/pyreverse/diadefslib.py +233 -0
  561. data/vendor/python/pylint/pyreverse/diagrams.py +247 -0
  562. data/vendor/python/pylint/pyreverse/main.py +124 -0
  563. data/vendor/python/pylint/pyreverse/utils.py +131 -0
  564. data/vendor/python/pylint/pyreverse/writer.py +199 -0
  565. data/vendor/python/pylint/reporters/__init__.py +138 -0
  566. data/vendor/python/pylint/reporters/__init__.pyc +0 -0
  567. data/vendor/python/pylint/reporters/guireporter.py +28 -0
  568. data/vendor/python/pylint/reporters/guireporter.pyc +0 -0
  569. data/vendor/python/pylint/reporters/html.py +70 -0
  570. data/vendor/python/pylint/reporters/html.pyc +0 -0
  571. data/vendor/python/pylint/reporters/text.py +143 -0
  572. data/vendor/python/pylint/reporters/text.pyc +0 -0
  573. data/vendor/python/pylint/setup.cfg +3 -0
  574. data/vendor/python/pylint/setup.py +203 -0
  575. data/vendor/python/pylint/tox.ini +10 -0
  576. data/vendor/python/pylint/utils.py +744 -0
  577. data/vendor/python/pylint/utils.pyc +0 -0
  578. data/vendor/python/pylint_runner.py +22 -0
  579. metadata +675 -0
@@ -0,0 +1,1517 @@
1
+ ChangeLog for logilab.common
2
+ ============================
3
+
4
+ 2014-02-11 -- 0.61.0
5
+ * pdf_ext: removed, it had no known users (CVE-2014-1838)
6
+
7
+ * shellutils: fix tempfile issue in Execute, and deprecate it
8
+ (CVE-2014-1839)
9
+
10
+ * pytest: use 'env' to run the python interpreter
11
+
12
+ * graph: ensure output is ordered on node and graph ids (#202314)
13
+
14
+
15
+ 2013-16-12 -- 0.60.1
16
+ * modutils:
17
+
18
+ * don't propagate IOError when package's __init__.py file doesn't
19
+ exist (#174606)
20
+
21
+ * ensure file is closed, may cause pb depending on the interpreter, eg
22
+ pypy) (#180876)
23
+
24
+ * fix support for `extend_path` based nested namespace packages ;
25
+ Report and patch by John Johnson (#177651)
26
+
27
+ * fix some cases of failing python3 install on windows platform / cross
28
+ compilation (#180836)
29
+
30
+
31
+
32
+ 2013-07-26 -- 0.60.0
33
+ * configuration: rename option_name method into option_attrname (#140667)
34
+
35
+ * deprecation: new DeprecationManager class (closes #108205)
36
+
37
+ * modutils:
38
+
39
+ - fix typo causing name error in python3 / bad message in python2
40
+ (#136037)
41
+ - fix python3.3 crash in file_from_modpath due to implementation
42
+ change of imp.find_module wrt builtin modules (#137244)
43
+
44
+ * testlib: use assertCountEqual instead of assertSameElements/assertItemsEqual
45
+ (deprecated), fixing crash with python 3.3 (#144526)
46
+
47
+ * graph: use codecs.open avoid crash when writing utf-8 data under python3
48
+ (#155138)
49
+
50
+
51
+
52
+ 2013-04-16 -- 0.59.1
53
+ * graph: added pruning of the recursive search tree for detecting cycles in
54
+ graphs (closes #2469)
55
+
56
+ * testlib: check for generators in with_tempdir (closes #117533)
57
+
58
+ * registry:
59
+
60
+ - select_or_none should not silent ObjectNotFound exception
61
+ (closes #119819)
62
+ - remove 2 accidentally introduced tabs breaking python 3 compat
63
+ (closes #117580)
64
+
65
+ * fix umessages test w/ python 3 and LC_ALL=C (closes #119967, report and
66
+ patch by Ian Delaney)
67
+
68
+
69
+
70
+ 2013-01-21 -- 0.59.0
71
+ * registry:
72
+
73
+ - introduce RegistrableObject base class, mandatory to make
74
+ classes automatically registrable, and cleanup code
75
+ accordingly
76
+ - introduce objid and objname methods on Registry instead of
77
+ classid function and inlined code plus other refactorings to allow
78
+ arbitrary objects to be registered, provided they inherit from new
79
+ RegistrableInstance class (closes #98742)
80
+ - deprecate usage of leading underscore to skip object registration, using
81
+ __abstract__ explicitly is better and notion of registered object 'name'
82
+ is now somewhat fuzzy
83
+ - use register_all when no registration callback defined (closes #111011)
84
+
85
+ * logging_ext: on windows, use colorama to display colored logs, if available (closes #107436)
86
+
87
+ * packaging: remove references to ftp at logilab
88
+
89
+ * deprecations: really check them
90
+
91
+ * packaging: steal spec file from fedora (closes #113099)
92
+
93
+ * packaging force python2.6 on rhel5 (closes #113099)
94
+
95
+ * packaging Update download and project urls (closes #113099)
96
+
97
+ * configuration: enhance merge_options function (closes #113458)
98
+
99
+ * decorators: fix @monkeypatch decorator contract for dark corner
100
+ cases such as monkeypatching of a callable instance: no more
101
+ turned into an unbound method, which was broken in python 3 and
102
+ probably not used anywhere (actually closes #104047).
103
+
104
+
105
+
106
+ 2012-11-14 -- 0.58.3
107
+ * date: fix ustrftime() impl. for python3 (closes #82161, patch by Arfrever
108
+ Frehtes Taifersar Arahesis) and encoding detection for python2 (closes
109
+ #109740)
110
+
111
+ * other python3 code and test fixes (closes #104047)
112
+
113
+ * registry: Store.setdefault shouldn't raise RegistryNotFound (closes #111010)
114
+
115
+ * table: stop encoding to iso-8859-1, use unicode (closes #105847)
116
+
117
+ * setup: properly install additional files during build instead of install (closes #104045)
118
+
119
+
120
+
121
+ 2012-07-30 -- 0.58.2
122
+ * modutils: fixes (closes #100757 and #100935)
123
+
124
+
125
+
126
+ 2012-07-17 -- 0.58.1
127
+ * modutils, testlib: be more python implementation independant (closes #99493 and #99627)
128
+
129
+
130
+
131
+ 2012-04-12 -- 0.58.0
132
+ * new `registry` module containing a backport of CubicWeb selectable objects registry (closes #84654)
133
+
134
+ * testlib: DocTestCase fix builtins pollution after doctest execution.
135
+
136
+ * shellutil: add argument to ``ProgressBar.update`` to tune cursor progression (closes #88981)
137
+
138
+ * deprecated: new DeprecationWrapper class (closes #88942)
139
+
140
+
141
+
142
+ 2012-03-22 -- 0.57.2
143
+ * texutils: apply_units raise ValueError if string isn'nt valid (closes #88808)
144
+
145
+ * daemon: don't call putenv directly
146
+
147
+ * pytest: do not enable extra warning other than DeprecationWarning.
148
+
149
+ * testlib: DocTestCase fix builtins pollution after doctest execution.
150
+
151
+ * testlib: replace sys.exit with raise ImportError (closes: #84159)
152
+
153
+ * fix license in README
154
+
155
+ * add trove classifiers (tell about python 3 support for pypi)
156
+
157
+
158
+
159
+ 2011-10-28 -- 0.57.1
160
+ * daemon: change $HOME after dropping privileges (closes #81297)
161
+
162
+ * compat: method_type for py3k use instance of the class to have a
163
+ real instance method (closes: #79268)
164
+
165
+
166
+
167
+ 2011-10-12 -- 0.57.0
168
+ * only install unittest2 when python version < 2.7 (closes: #76068)
169
+
170
+ * daemon: make pidfile world-readable (closes #75968)
171
+
172
+ * daemon: remove unused(?) DaemonMixin class
173
+
174
+ * update compat module for callable() and method_type()
175
+
176
+ * decorators: fix monkeypatch py3k compat (closes #75290)
177
+
178
+ * decorators: provide a @cachedproperty decorator
179
+
180
+
181
+
182
+ 2011-09-08 -- 0.56.2
183
+ * daemon: call initgroups/setgid before setuid (closes #74173)
184
+
185
+ * decorators: @monkeypatch should produce a method object (closes #73920)
186
+
187
+ * modutils: allow overriding of _getobj by suppressing mangling
188
+
189
+
190
+
191
+ 2011-08-05 -- 0.56.1
192
+ * clcommands: #72450 --rc-file option doesn't work
193
+
194
+
195
+
196
+ 2011-06-09 -- 0.56.0
197
+ * clcommands: make registration possible by class decoration
198
+
199
+ * date: new datetime/delta <-> seconds/days conversion function
200
+
201
+ * decorators: refactored @cached to allow usages such as
202
+ @cached(cacheattr='_cachename') while keeping bw compat
203
+
204
+
205
+
206
+ 2011-04-01 -- 0.55.2
207
+ * new function for password generation in shellutils
208
+
209
+ * pyro_ext: allow to create a server without registering with a pyrons
210
+
211
+
212
+
213
+ 2011-03-28 -- 0.55.1
214
+ * fix date.ustrftime break if year <= 1900
215
+
216
+ * fix graph.py incorrectly builds command lines using %s to call dot
217
+
218
+ * new functions to get UTC datetime / time
219
+
220
+
221
+
222
+ 2011-02-18 -- 0.55.0
223
+ * new urllib2ext module providing a GSSAPI authentication handler, based on python-kerberos
224
+
225
+ * graph: test and fix ordered_nodes() [closes #60288]
226
+
227
+ * changelog: refactor ChangeLog class to ease overriding
228
+
229
+ * testlib: Fix tag handling for generator.
230
+
231
+
232
+
233
+ 2011-01-12 -- 0.54.0
234
+ * dropped python 2.3 support
235
+
236
+ * daemon: we can now specify umask to daemonize function, and it return
237
+ different exit code according to the process
238
+
239
+ * pyro_ext: new ns_reregister function to ensure a name is still properly
240
+ registered in the pyro name server
241
+
242
+ * hg: new incoming/outgoing functions backward compatible with regards to
243
+ mercurial version (eg hg 1.6 and earlier)
244
+
245
+ * testlib/pytest: more deprecation and removed code. Still on the way to
246
+ unittest2
247
+
248
+
249
+
250
+ 2010-11-15 -- 0.53.0
251
+ * first python3.x compatible release
252
+
253
+ * __init__: tempattr context manager
254
+
255
+ * shellutils: progress context manager
256
+
257
+
258
+
259
+ 2010-10-11 -- 0.52.1
260
+ * configuration: fix pb with option names as unicode string w/
261
+ python 2.5. Makes OptionError available through the module
262
+
263
+ * textutils: text_to_dict skip comments (# lines)
264
+
265
+ * compat: dropped some 2.2 compat
266
+
267
+ * modutils: Consider arch-specific installation for STD_LIB_DIR definition
268
+
269
+
270
+
271
+ 2010-09-28 -- 0.52.0
272
+ * testlib is now based on unittest2, to prepare its own extinction.
273
+ Warning are printed so you can easily migrate step by step.
274
+
275
+ * restored python 2.3 compat in some modules, so one get a change to run
276
+ pylint at least
277
+
278
+ * textutils: use NFKD decomposition in unormalize()
279
+
280
+ * logging_ext: don't try to use ansi colorized formatter when not in debug
281
+ mode
282
+
283
+
284
+
285
+ 2010-09-10 -- 0.51.1
286
+ * logging_ext: init_log function splitted into smaller chunk to ease reuse
287
+ in other contexts
288
+
289
+ * clcommands: enhanced/cleaned api, nicer usage display
290
+
291
+ * various pylint detected errors fixed
292
+
293
+
294
+
295
+ 2010-08-26 -- 0.51.0
296
+ * testlib: don't raise string exception (closes #35331)
297
+
298
+ * hg: new module regrouping some mercurial utility functions
299
+
300
+ * clcommands: refactored to get more object oriented api.
301
+
302
+ * optparser: module is now deprecated, use clcommands instead
303
+
304
+ * textutils: new split_url_or_path and text_to_dict functions
305
+
306
+ * logging_ext:
307
+ - init_log now accept optionaly any arbitrary handler
308
+ - threshold default to DEBUG if debug flag is true and no threshold specified
309
+
310
+ * date: new ustrftime implementation working around datetime limitaion on dates < 1900
311
+
312
+
313
+
314
+ 2010-06-04 -- 0.50.3
315
+ * logging: added new optional kw argument to init_log rotating_parameters
316
+
317
+ * date: fix nb_open_days() codomain, positive natural numbers are expected
318
+
319
+ * configuration:
320
+ - skip option with no type, avoid pb with generated option such as long-help
321
+ - handle level on man page generation
322
+
323
+
324
+
325
+ 2010-05-21 -- 0.50.2
326
+ * fix licensing information: LGPL v2.1 or greater
327
+
328
+ * daemon: new daemonize function
329
+
330
+ * modutils: fix some false negative of is_standard_module with
331
+ 'from module import something" where something isn't a submodule
332
+
333
+ * optik_ext: fix help generation for normal optparse using script if
334
+ optik_ext has been imported (#24450)
335
+
336
+ * textutils support 256 colors when available
337
+
338
+ * testlib] add option splitlines to assertTextEquals
339
+
340
+
341
+
342
+ 2010-04-26 -- 0.50.1
343
+ * implements __repr__ on nullobject
344
+
345
+ * configuration: avoid crash by skipping option without 'type'
346
+ entry while input a config
347
+
348
+ * pyro_ext: raise PyroError instead of exception
349
+
350
+
351
+
352
+ 2010-04-20 -- 0.50.0
353
+ * graph:
354
+ - generate methods now takes an optional mapfile argument to generate
355
+ html image maps
356
+ - new ordered_nodes function taking a dependency graph dict as arguments
357
+ and returning an ordered list of nodes
358
+
359
+ * configuration:
360
+ - nicer serialization of bytes / time option
361
+ - may now contains several option provider with the same name
362
+ - consider 'level' in option dict, --help displaying only option with level
363
+ 0, and automatically adding --long-help options for higher levels
364
+
365
+ * textutils: case insensitive apply_unit
366
+
367
+ * sphinx_ext: new module usable as a sphinx pluggin and containing a new
368
+ 'autodocstring' directive
369
+
370
+ * ureports: output &#160; instead of &nbsp; for strict xhtml compliance
371
+
372
+ * decorators: @cached propery copy inner function docstring
373
+
374
+
375
+
376
+ 2010-03-16 -- 0.49.0
377
+ * date: new 'totime' function
378
+
379
+ * adbh, db, sqlgen modules moved to the new logilab-database package
380
+
381
+ * pytest: when -x option is given, stop on the first error even if
382
+ there are multiple test directories
383
+
384
+
385
+
386
+ 2010-02-26 -- 0.48.1
387
+ * adbh: added dbport optional argument to [backup|restore]_commands
388
+
389
+ * db: fix date processing for SQLServer 2005
390
+
391
+ * testlib: improve XML assertion by using ElementTree parser and a new 'context' lines argument
392
+
393
+
394
+
395
+ 2010-02-17 -- 0.48.0
396
+ * date: fixed mx date time compat for date_range (#20651)
397
+
398
+ * testlib: generative test should not be interrupted by self.skip() (#20648)
399
+
400
+
401
+
402
+ 2010-02-10 -- 0.47.0
403
+ * adbh: changed backup / restore api (BREAKS COMPAT):
404
+ - backup_command is now backup_commands (eg return a list of commands)
405
+ - each command returned in backup_commands/restore_commands may now
406
+ be list that may be used as argument to subprocess.call, or a string
407
+ which will the requires a subshell
408
+ - new sql_rename_col method
409
+
410
+ * deprecation: deprecated now takes an optional 'stacklevel' argument, default to 2
411
+
412
+ * date: some functions to ease python's datetime module usage have been backported
413
+ from cubicweb
414
+
415
+
416
+
417
+ 2009-12-23 -- 0.46.0
418
+ * db / adbh: added SQL Server support using Pyodbc
419
+
420
+ * db:
421
+ - New optional extra_args argument to get_connection.
422
+ - Support Windows Auth for SQLServer by giving
423
+ extra_args='Trusted_Connection' to the sqlserver2005 driver
424
+
425
+
426
+
427
+ 2009-11-23 -- 0.45.2
428
+ * configuration:
429
+ - proper bytes and time option types support
430
+ - make Method usable as 'callback' value
431
+ - fix #8849 Using plugins, options and .pylintrc crashes PyLint
432
+
433
+ * graph: fix has_path returned value to include the destination node, else we get
434
+ an empty list which makes think there is no path (test added)
435
+
436
+
437
+
438
+ 2009-08-26 -- 0.45.0
439
+ * added function for parsing XML processing instructions
440
+
441
+
442
+
443
+ 2009-08-07 -- 0.44.0
444
+ * remove code deprecated for a while now
445
+
446
+ * shellutils: replace confirm function by RawInput class /ASK singleton
447
+
448
+ * deprecation: new deprecated decorator, replacing both obsolete and deprecated_function
449
+
450
+
451
+
452
+ 2009-07-21 -- 0.43.0
453
+ * dbf: a DBF reader which reads Visual Fox Pro DBF format with Memo field (module from Yusdi Santoso)
454
+
455
+ * shellutils:
456
+ - #9764 add title to shellutils.ProgressBar
457
+ - #9796 new confirm function
458
+
459
+ * testlib:
460
+ - simplify traceback manipulation (skip first frames corresponding to testlib functions)
461
+ - -c now captures DeprecationWarnings
462
+
463
+ * sphinxutils: simplified API
464
+
465
+ * modutils: new cleanup_sys_modules function that removes modules under a list
466
+ of directories from sys.modules
467
+
468
+
469
+
470
+ 2009-07-17 -- 0.42.0
471
+ * pyro_ext: new module for pyro utilities
472
+
473
+ * adbh: fix default set_null_allowed implementation, new case_sensitive
474
+ resource descriptor
475
+
476
+
477
+
478
+ 2009-06-03 -- 0.41.0
479
+ * modutils: new extrapath argument to modpath_from_file (see function's
480
+ docstring for explanation)
481
+
482
+ * adbh: new alter_column_support flag, sql_set_null_allowed and
483
+ sql_change_col_type methods
484
+
485
+
486
+
487
+ 2009-05-28 -- 0.40.1
488
+ * date: handle both mx.DateTime and datetime representations
489
+
490
+ * db: use sqlite native module's Binary, not StringIO
491
+
492
+
493
+
494
+ 2009-05-14 -- 0.40.0
495
+ * python < 2.3 are now officially unsupported
496
+
497
+ * #9162: new module with some sphinx utilities
498
+
499
+ * #9166: use a global variable to control mx datetime / py datetime usage
500
+
501
+ * db: add time adapter for pysqlite2, fix mysql bool and string handling
502
+
503
+ * configuration: don't print default for store_true / store_false option
504
+ or option with None as default
505
+
506
+
507
+
508
+ 2009-04-07 -- 0.39.1
509
+ * fix #6760 umessage.decode_QP() crashes on unknown encoding
510
+
511
+
512
+
513
+ 2009-03-25 -- 0.39.0
514
+ * fix #7915 (shellutils unusable under windows)
515
+
516
+ * testlib:
517
+
518
+ * new profile option using cProfile
519
+
520
+ * allows to skip a module by raising TestSkipped from module import
521
+
522
+ * modutils: locate modules in zip/egg archive
523
+
524
+ * db: USE_MX_DATETIME global to control usage of mx.DateTime / py datetime
525
+
526
+
527
+
528
+ 2009-01-26 -- 0.38.0
529
+ * setuptools / easy_install support!
530
+
531
+ * removed some old backward compat code
532
+
533
+ * adbh: new intersect_all_support attribute
534
+
535
+ * contexts: new pushd context manager
536
+
537
+ * shellutils: enhance acquire_lock method w/ race condition
538
+
539
+ * configuration: fix case sensitivity pb w/ config file sections
540
+
541
+ * pytest: reimplemented colorization
542
+
543
+
544
+
545
+ 2009-01-08 -- 0.37.2
546
+ * configuration: encoding handling for configuration file generation
547
+
548
+ * adbh: fix Datetime type map for mysql
549
+
550
+ * logging_ext: drop lldebug level which shouldn't be there
551
+
552
+
553
+
554
+ 2008-12-11 -- 0.37.1
555
+ * contexts: make the module syntactically correct wrt python2.4
556
+
557
+
558
+
559
+ 2008-12-09 -- 0.37.0
560
+ * contexts: new module for context managers, keeping py <2.4 syntax compat
561
+ for distribution (only `tempdir` cm for now)
562
+
563
+ * tasksqueue: new module containing a class to handle prioritized tasks queue
564
+
565
+ * proc: new module for process information / resource control
566
+
567
+ * optik_ext: new time/bytes option types, using textutils conversion function
568
+
569
+ * logging_ext: new set_log_methods / init_log utility functions
570
+
571
+
572
+
573
+ 2008-10-30 -- 0.36.0
574
+ * configuration:
575
+ - option yn is now behaving like a flag (i.e --ex : if ex.default=True and --ex in sys.args then ex.value=False)
576
+ - new attribute hide in option (i.e --ex : if --ex has 'hide':True then the option will not be displayed in man or --help)
577
+
578
+ * pytest:
579
+ - add colors in display
580
+ - new option --restart that skips tests that succeeded on last run
581
+
582
+ * cache: new herits from dict class
583
+
584
+ * decorators: add @require_version @require_module that skip test if decorators are not satisfied
585
+
586
+
587
+
588
+ 2008-10-09 -- 0.35.3
589
+ * graph: new has_path method
590
+
591
+
592
+
593
+ 2008-10-01 -- 0.35.2
594
+ * configuration:
595
+ - fix #6011: lgc.configuration ignore customized option values
596
+ - fix #3278: man page generation broken
597
+
598
+ * dropped context.py module which broke the debian package when
599
+ some python <2.5 is installed (#5979)
600
+
601
+
602
+
603
+ 2008-09-10 -- 0.35.0
604
+ * fix #5945: wrong edge properties in graph.DotBackend
605
+
606
+ * testlib: filter tests with tag decorator
607
+
608
+ * shellutils: new simple unzip function
609
+
610
+
611
+
612
+ 2008-08-07 -- 0.34.0
613
+ * changelog: properly adds new line at the end of each entry
614
+
615
+ * testlib: add a with_tempdir decorator ensuring all temporary files and dirs are removed
616
+
617
+ * graph: improve DotBackend configuration. graphiz rendered can now be selected
618
+ and additional graph parameter used
619
+
620
+ * db: support of Decimal Type
621
+
622
+
623
+
624
+ 2008-06-25 -- 0.33.0
625
+ * decorators: new @locked decorator
626
+
627
+ * cache: make it thread safe, changed behaviour so that when cache size is 0
628
+ and __delitem__ is called, a KeyError is raised (more consistent)
629
+
630
+ * testlib:
631
+ - added assertIsNot, assertNone and assertNotNone assertion
632
+ - added assertUnorderedIterableEquals
633
+ - added assertDirEquals
634
+ - various failure output improvement
635
+
636
+ * umessage: umessage.date() may return unparsable string as is instead of None
637
+
638
+ * compat: adds a max function taking 'key' as keyword argument as in 2.5
639
+
640
+ * configuration: escape rest when printing for default value
641
+
642
+
643
+
644
+ 2008-06-08 -- 0.32.0
645
+ * textutils: add the apply_unit function
646
+
647
+ * testlib:
648
+ - added a assertXMLEqualsTuple test assertion
649
+ - added a assertIs assertion
650
+
651
+
652
+
653
+ 2008-05-08 -- 0.31.0
654
+ * improved documentation and error messages
655
+
656
+ * testlib: support a msg argument on more assertions, pysqlite2 as default
657
+
658
+ * pytest: pytestconf.py for customization
659
+
660
+
661
+
662
+ 2008-03-26 -- 0.30.0
663
+ * db: remember logged user on the connection
664
+
665
+ * clcommands: commands may be hidden (e.g. not displayed in help), generic
666
+ ListCommandsCommand useful to build bash completion helpers
667
+
668
+ * changelog: module to parse ChangeLog file as this one, backported from
669
+ logilab.devtools
670
+
671
+
672
+
673
+ 2008-03-12 -- 0.29.1
674
+ * date: new nb_open_days function counting worked days between two date
675
+
676
+ * adbh: add -p option to mysql commands to ask for password
677
+
678
+
679
+
680
+ 2008-03-05 -- 0.29.0
681
+ * adbh: mysql doesn't support ILIKE, implement list_indices for mysql
682
+
683
+ * db: mysql adapter use mx DateTime when available, fix unicode handling
684
+
685
+
686
+
687
+ 2008-02-18 -- 0.28.2
688
+ * testlib: restore python2.3 compatibility
689
+
690
+
691
+
692
+ 2008-02-15 -- 0.28.1
693
+ * testlib: introduce InnerTest class to name generative tests, fix
694
+ generative tests description storage
695
+
696
+ * pytest: fix -s option
697
+
698
+ * modutils: included Stefan Rank's patch to deal with 2.4 relative import
699
+
700
+ * configuration: don't give option's keywords not recognized by optparse,
701
+ fix merge_options function
702
+
703
+
704
+
705
+ 2008-02-05 -- 0.28.0
706
+ * date: new `add_days_worked` function
707
+
708
+ * shellutils: new `chown` function
709
+
710
+ * testlib: new `strict` argument to assertIsInstance
711
+
712
+ * __init__: new `attrdict` and `nullobject` classes
713
+
714
+
715
+
716
+ 2008-01-25 -- 0.27.0
717
+ * deprecation: new class_moved utility function
718
+
719
+ * interface: fix subinterface handling
720
+
721
+
722
+
723
+ 2008-01-10 -- 0.26.1
724
+ * optparser: support --version at main command level
725
+
726
+ * testlib: added man page for pytest
727
+
728
+ * textutils: fix a bug in normalize{_,_rest_}paragraph which may cause
729
+ infinite loop if an indent string containing some spaces is given
730
+
731
+
732
+
733
+ 2008-01-07 -- 0.26.0
734
+ * db: binarywrap support
735
+
736
+ * modutils: new LazyObject class
737
+
738
+
739
+
740
+ 2007-12-20 -- 0.25.2
741
+ * adbh: new needs_from_clause variable on db helper
742
+
743
+
744
+
745
+ 2007-12-11 -- 0.25.1
746
+ * pytest: new --profile option, setup module / teardown module hook,
747
+ other fixes and enhancements
748
+
749
+ * db: mysql support fixes
750
+
751
+ * adbh: fix postgres list_indices implementation
752
+
753
+
754
+
755
+ 2007-11-26 -- 0.25.0
756
+ * adbh:
757
+ - list_tables implementation for sqlite
758
+ - new list_indices, create_index, drop_index methods
759
+
760
+ * restore python < 2.4 compat
761
+
762
+
763
+
764
+ 2007-10-29 -- 0.24.0
765
+ * decorators: new classproperty decorator
766
+
767
+ * adbh: new module containing advanced db helper which were in the "db"
768
+ module, with additional registered procedures handling
769
+
770
+
771
+
772
+ 2007-10-23 -- 0.23.1
773
+ * modutils: fix load_module_from_* (even with use_sys=False, it should
774
+ try to get outer packages from sys.modules)
775
+
776
+
777
+
778
+ 2007-10-17 -- 0.23.0
779
+ * db:
780
+
781
+ - mark support_users and support_groups methods as obsolete in
782
+ favor of users_support and groups_support attributes
783
+ - new ilike_support property on dbms helpers
784
+ - extended db helper api
785
+ - completed mysql support
786
+
787
+ * textutils: new unormalize function to normalize diacritical chars by
788
+ their ascii equivalent
789
+
790
+ * modutils: new load_module_from_file shortcut function
791
+
792
+ * clcommands: pop_args accept None as value for expected_size_after,
793
+ meaning remaining args should not be checked
794
+
795
+ * interface: new extend function to dynamically add an implemented interface
796
+ to a new style class
797
+
798
+
799
+
800
+ 2007-06-25 -- 0.22.2
801
+ * new 'typechanged' action for configuration.read_old_config
802
+
803
+
804
+
805
+ 2007-05-14 -- 0.22.1
806
+ * important bug fix in db.py
807
+
808
+ * added history in pytest debugger sessions
809
+
810
+ * fix pytest coverage bug
811
+
812
+ * fix textutils test
813
+
814
+ * fix a bug which provoked a crash if devtools was not installed
815
+
816
+
817
+
818
+ 2007-05-14 -- 0.22.0
819
+ * pytest improvements
820
+
821
+ * shellutils: use shutil.move instead of os.rename as default action
822
+ of mv
823
+
824
+ * db: new `list_users` and `sql_drop_unique_constraint` methods on
825
+ advanced helpers
826
+
827
+ * deprecation: new `obsolete` decorator
828
+
829
+
830
+
831
+ 2007-02-12 -- 0.21.3
832
+ * fixed cached decorator to use __dict__ instead of attribute lookup,
833
+ avoiding potential bugs with inheritance when using cached class
834
+ methods
835
+
836
+
837
+
838
+ 2007-02-05 -- 0.21.2
839
+ * fix ReST normalization (#3471)
840
+
841
+
842
+
843
+ 2006-12-19 -- 0.21.1
844
+ * tree: make Node iterable (iter on its children)
845
+
846
+ * configuration: fix #3197 (OptionsManagerMixin __init__ isn't passing
847
+ correctly its "version" argument)
848
+
849
+ * textutils: new 'rest' argument to normalize_text to better deal with
850
+ ReST formated text
851
+
852
+ * some packaging fixes
853
+
854
+
855
+
856
+ 2006-11-14 -- 0.21.0
857
+ * db:
858
+
859
+ - new optional keepownership argument to backup|restore_database methods
860
+ - only register mxDatetime converters on psycopg2 adapter if
861
+ mx.DateTime is available
862
+
863
+ * moved some stuff which was in common __init__ file into specific
864
+ module. At this occasion new "decorators" and "deprecation" modules
865
+ has been added
866
+
867
+ * deprecated fileutils.[files_by_ext,include_files_by_ext,exclude_files_by_ext]
868
+ functions in favor of new function shellutils.find
869
+
870
+ * mark the following modules for deprecation, they will be removed in a
871
+ near version:
872
+
873
+ * astutils: moved to astng
874
+
875
+ * bind (never been used)
876
+
877
+ * html: deprecated
878
+
879
+ * logger/logservice: use logging module
880
+
881
+ * monclient/monserver (not used anymore)
882
+
883
+ * patricia (never been used)
884
+
885
+ * twisted_distutils (not used anymore)
886
+
887
+ * removed the following functions/methods which have been deprecated for a
888
+ while now:
889
+
890
+ * modutils.load_module_from_parts
891
+
892
+ * textutils.searchall
893
+
894
+ * tree.Node.leafs
895
+
896
+ * fileutils.get_by_ext, filetutils.get_mode, fileutils.ensure_mode
897
+
898
+ * umessage: more robust charset handling
899
+
900
+
901
+
902
+ 2006-11-03 -- 0.20.2
903
+ * fileutils: new remove_dead_links function
904
+
905
+ * date: add missing strptime import
906
+
907
+
908
+
909
+ 2006-11-01 -- 0.20.1
910
+ * umessage:
911
+ - new message_from_string function
912
+ - fixed get_payload encoding bug
913
+
914
+ * db: default postgres module is now psycopg2, which has been customized
915
+ to return mx.Datetime objects for date/time related types
916
+
917
+
918
+
919
+ 2006-10-27 -- 0.20.0
920
+ * db:
921
+ - fixed date handling
922
+ - new methods on advanced helper to generate backup commands
923
+
924
+ * configuration: basic deprecated config handling support
925
+
926
+ * new implementation of pytest
927
+
928
+ * backport a dot backend from yams into a new "graph" module
929
+
930
+
931
+
932
+ 2006-10-03 -- 0.19.3
933
+ * fixed bug in textutils.normalise_[text|paragraph] with unsplitable
934
+ word larger than the maximum line size
935
+
936
+ * added pytest.bat for windows installation
937
+
938
+ * changed configuration.generate_config to include None values into the
939
+ generated file
940
+
941
+
942
+
943
+ 2006-09-25 -- 0.19.2
944
+ * testlib:
945
+ - fixed a bug in find_test making it returns some bad test names
946
+ - new assertIsInstance method on TestCase
947
+
948
+ * optik_ext: make it works if mx.DateTime is not installed, in which case
949
+ the date type option won't be available
950
+
951
+ * test fixes
952
+
953
+
954
+
955
+ 2006-09-22 -- 0.19.1
956
+ * db:
957
+
958
+ - fixed bug when querying boolean on sqlite using python's bool type
959
+ - fixed time handling and added an adapter for DateTimeDeltaType
960
+ - added "drop_on_commit" argument to create_temporary_table on db helper
961
+ - added missing implementation of executemany on pysqlite2 wrapper to
962
+ support pyargs correctly like execute
963
+
964
+ * optik_ext: fixed "named" type option to support csv values and to return
965
+ a dictionary
966
+
967
+
968
+
969
+ 2006-09-05 -- 0.19.0
970
+ * new umessage module which provides a class similar to the standard
971
+ email.Message class but returning unicode strings
972
+
973
+ * new clcommands module to handle commands based command line tool
974
+ (based on the configuration module)
975
+
976
+ * new "date" option type in optik_ext
977
+
978
+ * new AttrObject in testlib to create objects in test with arbitrary attributes
979
+
980
+ * add pytest to run project's tests and get rid of all runtests.py
981
+
982
+ * add pytest option to enable design-by-contract using aspects
983
+
984
+ * some enhancements to the configuration module
985
+
986
+
987
+
988
+ 2006-08-09 -- 0.18.0
989
+ * added -c / --capture option to testlib.unittest_main
990
+
991
+ * fixed bugs in lgc.configuration
992
+
993
+ * optparser: added a OptionParser that extends optparse's with commands
994
+
995
+
996
+
997
+ 2006-07-13 -- 0.17.0
998
+ * python2.5 compatibility (testlib.py + compat.py)
999
+
1000
+ * testlib.assertListEquals return all errors at once
1001
+
1002
+ * new "password" option type in optik_ext
1003
+
1004
+ * configuration: refactored to support interactive input of a configuration
1005
+
1006
+
1007
+
1008
+ 2006-06-08 -- 0.16.1
1009
+ * testlib: improved test collections
1010
+
1011
+ * compat: added cmp argument to sorted
1012
+
1013
+
1014
+
1015
+ 2006-05-19 -- 0.16.0
1016
+ * testlib:
1017
+
1018
+ - added a set of command line options (PYDEBUG is deprecated,
1019
+ use the -i/--pdb option, and added -x/--exitfirst option)
1020
+ - added support for generative tests
1021
+
1022
+ * db:
1023
+ - fix get_connection parameter order and host/port handling
1024
+ - added .sql_temporary_table method to advanced func helpers
1025
+ - started a psycopg2 adapter
1026
+
1027
+ * configuration: enhanced to handle default value in help and man pages
1028
+ generation (require python >= 2.4)
1029
+
1030
+
1031
+
1032
+ 2006-04-25 -- 0.15.1
1033
+ * db: add missing port handling to get_connection function and
1034
+ dbapimodule.connect methods
1035
+
1036
+ * testlib: various fixes and minor improvements
1037
+
1038
+
1039
+
1040
+ 2006-03-28 -- 0.15.0
1041
+ * added "cached" decorator and a simple text progression bar into __init__
1042
+
1043
+ * added a simple text progress bar into __init__
1044
+
1045
+ * configuration: fixed man page generation when using python 2.4
1046
+
1047
+ * db: added pysqllite2 support, preconfigured to handle timestamp using
1048
+ mxDatetime and to correctly handle boolean types
1049
+
1050
+
1051
+
1052
+ 2006-03-06 -- 0.14.1
1053
+ * backported file support and add LOG_CRIT to builtin in logservice module
1054
+
1055
+
1056
+
1057
+ 2006-02-28 -- 0.14.0
1058
+ * renamed assertXML*Valid to assertXML*WellFormed and deprecated the old name
1059
+
1060
+ * fixed modutils.load_module_from_*
1061
+
1062
+
1063
+
1064
+ 2006-02-03 -- 0.13.1
1065
+ * fix some tests, patch contributed by Marien Zwart
1066
+
1067
+ * added ability to log into a file with make_logger()
1068
+
1069
+
1070
+
1071
+ 2006-01-06 -- 0.13.0
1072
+ * testlib: ability to skip a test
1073
+
1074
+ * configuration:
1075
+
1076
+ - cleaner configuration file generation
1077
+ - refactoring so that we can have more control on file
1078
+ configuration loading using read_config_file and load_config_file
1079
+ instead of load_file_configuration
1080
+
1081
+ * modutils: fix is_relative to return False when from_file is a file
1082
+ located somewhere in sys.path
1083
+
1084
+ * ureport: new "escaped" attribute on Text nodes, controling html escaping
1085
+
1086
+ * compat: make set iterable and support more other set operations...
1087
+
1088
+ * removed the astng sub-package, since it's now self-distributed as
1089
+ logilab-astng
1090
+
1091
+
1092
+
1093
+ 2005-09-06 -- 0.12.0
1094
+ * shellutils: bug fix in mv()
1095
+
1096
+ * compat:
1097
+ - use set when available
1098
+ - added sorted and reversed
1099
+
1100
+ * table: new methods and some optimizations
1101
+
1102
+ * tree: added some deprecation warnings
1103
+
1104
+
1105
+
1106
+ 2005-07-25 -- 0.11.0
1107
+ * db: refactoring, added sqlite support, new helpers to support DBMS
1108
+ specific features
1109
+
1110
+
1111
+
1112
+ 2005-07-07 -- 0.10.1
1113
+ * configuration: added basic man page generation feature
1114
+
1115
+ * ureports: unicode handling, some minor fixes
1116
+
1117
+ * testlib: enhance MockConnection
1118
+
1119
+ * python2.2 related fixes in configuration and astng
1120
+
1121
+
1122
+
1123
+ 2005-05-04 -- 0.10.0
1124
+ * astng: improve unit tests coverage
1125
+
1126
+ * astng.astng: fix Function.format_args, new method
1127
+ Function.default_value, bug fix in Node.resolve
1128
+
1129
+ * astng.builder: handle classmethod and staticmethod as decorator,
1130
+ handle data descriptors when building from living objects
1131
+
1132
+ * ureports:
1133
+ - new docbook formatter
1134
+ - handle ReST like urls in the text writer
1135
+ - new build_summary utility function
1136
+
1137
+
1138
+
1139
+ 2005-04-14 -- 0.9.3
1140
+ * optik_ext: add man page generation based on optik/optparse options
1141
+ definition
1142
+
1143
+ * modutils: new arguments to get_source_file to handle files without
1144
+ extensions
1145
+
1146
+ * astng: fix problem with the manager and python 2.2 (optik related)
1147
+
1148
+
1149
+
1150
+ 2005-02-16 -- 0.9.2
1151
+ * textutils:
1152
+
1153
+ - added epydoc documentation
1154
+ - new sep argument to the get_csv function
1155
+ - fix pb with normalize_* functions on windows platforms
1156
+
1157
+ * fileutils:
1158
+
1159
+ - added epydoc documentation
1160
+ - fixed bug in get_by_ext (renamed files_by_ext) with the
1161
+ exclude_dirs argument
1162
+
1163
+ * configuration:
1164
+ - fixed a bug in configuration file generation on windows platforms
1165
+ - better test coverage
1166
+
1167
+ * fixed testlib.DocTest which wasn't working anymore with recent
1168
+ versions of pyunit
1169
+
1170
+ * added "context_file" argument to file_from_modpath to avoid
1171
+ possible relative import problems
1172
+
1173
+ * astng: use the new context_file argument from Node.resolve()
1174
+
1175
+
1176
+
1177
+ 2005-02-04 -- 0.9.1
1178
+ * astng:
1179
+
1180
+ - remove buggy print
1181
+ - fixed builder to deal with builtin methods
1182
+ - fixed raw_building.build_function with python 2.4
1183
+
1184
+ * modutils: code cleanup, some reimplementation based on "imp",
1185
+ better handling of windows specific extensions, epydoc documentation
1186
+
1187
+ * fileutils: new exclude_dirs argument to the get_by_ext function
1188
+
1189
+ * testlib: main() support -p option to run test in a profiled mode
1190
+
1191
+ * generated documentation for modutils in the doc/ subdirectory
1192
+
1193
+
1194
+
1195
+ 2005-01-20 -- 0.9.0
1196
+ * astng:
1197
+
1198
+ - refactoring of some huge methods
1199
+ - fix interface resolving when __implements__ is defined in a parent
1200
+ class in another module
1201
+ - add special code in the builder to fix problem with qt
1202
+ - new source_line method on Node
1203
+ - fix sys.path during parsing to avoid some failure when trying
1204
+ to get imported names by `from module import *`, and use an astng
1205
+ building instead of exec'ing the statement
1206
+ - fix possible AttributeError with Function.type
1207
+ - manager.astng_from_file fallback to astng_from_module if possible
1208
+
1209
+ * textutils: fix bug in normalize_paragraph, unquote handle empty string
1210
+ correctly
1211
+
1212
+ * modutils:
1213
+
1214
+ - use a cache in has_module to speed up things when heavily used
1215
+ - fix file_from_modpath to handle pyxml and os.path
1216
+
1217
+ * configuration: fix problem with serialization/deserialization of empty
1218
+ string
1219
+
1220
+
1221
+
1222
+ 2005-01-04 -- 0.8.0
1223
+ * modutils: a lot of fixes/rewrite on various functions to avoid
1224
+ unnecessary imports, sys.path pollution, and other bugs (notably
1225
+ making pylint reporting wrong modules name/path)
1226
+
1227
+ * astng: new "inspector" module, initially taken from pyreverse code
1228
+ (http://www.logilab.org/projects/pyreverse), miscellaneous bug fixes
1229
+
1230
+ * configuration: new 'usage' parameter on the Configuration
1231
+ initializer
1232
+
1233
+ * logger: unicode support
1234
+
1235
+ * fileutils: get_by_ext also ignore ".svn" directories, not only "CVS"
1236
+
1237
+
1238
+
1239
+ 2004-11-03 -- 0.7.1
1240
+ * astng:
1241
+
1242
+ - don't raise a syntax error on files missing a trailing \n.
1243
+ - fix utils.is_abstract (was causing an unexpected exception if a
1244
+ string exception was raised).
1245
+ - fix utils.get_implemented.
1246
+ - fix file based manager's cache problem.
1247
+
1248
+ * textutils: fixed normalize_text / normalize_paragraph functions
1249
+
1250
+
1251
+
1252
+ 2004-10-11 -- 0.7.0
1253
+ * astng: new methods on the manager, returning astng with nodes for
1254
+ packages (i.e. recursive structure instead of the flat one), with
1255
+ automatic lazy loading + introduction of a dict like interface to
1256
+ manipulate those nodes and Module, Class and Function nodes.
1257
+
1258
+ * logservice: module imported from the ginco project
1259
+
1260
+ * configuration: added new classes Configuration and
1261
+ OptionsManager2Configuration adapter, fix bug in loading options
1262
+ from file
1263
+
1264
+ * optik_ext/configuration: some new option type "multiple_choice"
1265
+
1266
+ * fileutils: new ensure_mode function
1267
+
1268
+ * compat: support for sum and enumerate
1269
+
1270
+
1271
+
1272
+ 2004-09-23 -- 0.6.0
1273
+ * db: added DBAPIAdapter
1274
+
1275
+ * textutils: fix in pretty_match causing malformated messages in pylint
1276
+ added ansi colorization management
1277
+
1278
+ * modutils: new functions get_module_files, has_module and file_from_modpath
1279
+
1280
+ * astng: some new utility functions taken from pylint, minor changes to the
1281
+ manager API, Node.resolve doesn't support anymore "living" resolution,
1282
+ some new methods on astng nodes
1283
+
1284
+ * compat: new module for a transparent compatibility layer between
1285
+ different python version (actually 2.2 vs 2.3 for now)
1286
+
1287
+
1288
+
1289
+ 2004-07-08 -- 0.5.2
1290
+ * astng: fix another bug in klassnode.ancestors() method...
1291
+
1292
+ * db: fix mysql access
1293
+
1294
+ * cli: added a space after the prompt
1295
+
1296
+
1297
+
1298
+ 2004-06-04 -- 0.5.1
1299
+ * astng: fix undefined var bug in klassnode.ancestors() method
1300
+
1301
+ * ureports: fix attributes on title layout
1302
+
1303
+ * packaging:fix the setup.py script to allow bdist_winst (well, the
1304
+ generated installer has not been tested...) with the necessary
1305
+ logilab/__init__.py file
1306
+
1307
+
1308
+
1309
+ 2004-05-10 -- 0.5.0
1310
+ * ureports: new Universal Reports sub-package
1311
+
1312
+ * xmlrpcutils: new xmlrpc utilities module
1313
+
1314
+ * astng: resolve(name) now handle (at least try) builtins
1315
+
1316
+ * astng: fixed Class.as_string (empty parent when no base classes)
1317
+
1318
+ * astng.builder: knows a little about method descriptors, Function with
1319
+ unknown arguments have argnames==None.
1320
+
1321
+ * fileutils: new is_binary(filename) function
1322
+
1323
+ * textutils: fixed some Windows bug
1324
+
1325
+ * tree: base not doesn't have the "title" attribute anymore
1326
+
1327
+ * testlib: removed the spawn function (who used that ?!), added MockSMTP,
1328
+ MockConfigParser, MockConnexion and DocTestCase (test class for
1329
+ modules embedding doctest). All mocks objects are very basic and will be
1330
+ enhanced as the need comes.
1331
+
1332
+ * testlib: added a TestCase class with some additional methods then
1333
+ the regular unittest.TestCase class
1334
+
1335
+ * cli: allow specifying a command prefix by a class attributes,more
1336
+ robust, print available commands on help
1337
+
1338
+ * db: new "binary" function to get the binary wrapper for a given driver,
1339
+ and new "system_database" function returning the system database name
1340
+ for different DBMS.
1341
+
1342
+ * configuration: better group control
1343
+
1344
+
1345
+
1346
+ 2004-02-20 -- 0.4.5
1347
+ * db: it's now possible to fix the modules search order. By default call
1348
+ set_isolation_level if psycopg is used
1349
+
1350
+
1351
+
1352
+ 2004-02-17 -- 0.4.4
1353
+ * modutils: special case for os.path in get_module_part
1354
+
1355
+ * astng: handle special case where we are on a package node importing a module
1356
+ using the same name as the package, which may end in an infinite loop
1357
+ on relative imports in Node.resolve
1358
+
1359
+ * fileutils: new get_by_ext function
1360
+
1361
+
1362
+
1363
+ 2004-02-11 -- 0.4.3
1364
+ * astng: refactoring of Class.ancestor_for_* methods (now
1365
+ depends on python 2.2 generators)
1366
+
1367
+ * astng: make it more robust
1368
+
1369
+ * configuration: more explicit exception when a bad option is
1370
+ provided
1371
+
1372
+ * configuration: define a short version of an option using the "short"
1373
+ keyword, taking a single letter as value
1374
+
1375
+ * configuration: new method global_set_option on the manager
1376
+
1377
+ * testlib : allow no "suite" nor "Run" function in test modules
1378
+
1379
+ * shellutils: fix bug in *mv*
1380
+
1381
+
1382
+
1383
+ 2003-12-23 -- 0.4.2
1384
+ * added Project class and some new methods to the ASTNGManger
1385
+
1386
+ * some new functions in astng.utils
1387
+
1388
+ * fixed bugs in some as_string methods
1389
+
1390
+ * fixed bug in textutils.get_csv
1391
+
1392
+ * fileutils.lines now take a "comments" argument, allowing to ignore
1393
+ comment lines
1394
+
1395
+
1396
+
1397
+ 2003-11-24 -- 0.4.1
1398
+ * added missing as_string methods on astng nodes
1399
+
1400
+ * bug fixes on Node.resolve
1401
+
1402
+ * minor fixes in textutils and fileutils
1403
+
1404
+ * better test coverage (need more !)
1405
+
1406
+
1407
+
1408
+ 2003-11-13 -- 0.4.0
1409
+ * new textutils and shellutils modules
1410
+
1411
+ * full astng rewrite, now based on the compiler.ast package from the
1412
+ standard library
1413
+
1414
+ * added next_sbling and previous_sibling methods to Node
1415
+
1416
+ * fix get_cycles
1417
+
1418
+
1419
+
1420
+ 2003-10-14 -- 0.3.5
1421
+ * fixed null size cache bug
1422
+
1423
+ * added 'sort_by_column*' methods for tables
1424
+
1425
+
1426
+
1427
+ 2003-10-08 -- 0.3.4
1428
+ * fix bug in asntg, occurring with python2.3 and modules including an
1429
+ encoding declaration
1430
+
1431
+ * fix bug in astutils.get_rhs_consumed_names, occurring in lists
1432
+ comprehension
1433
+
1434
+ * remove debug print statement from configuration.py which caused a
1435
+ generation of incorrect configuration files.
1436
+
1437
+
1438
+
1439
+ 2003-10-01 -- 0.3.3
1440
+ * fix bug in modutils.modpath_from_file
1441
+
1442
+ * new module corbautils
1443
+
1444
+
1445
+
1446
+ 2003-09-18 -- 0.3.2
1447
+ * fix bug in modutils.load_module_from_parts
1448
+
1449
+ * add missing __future__ imports
1450
+
1451
+
1452
+
1453
+ 2003-09-18 -- 0.3.1
1454
+ * change implementation of modutils.load_module_from_name (use find_module
1455
+ and load_module instead of __import__)
1456
+
1457
+ * more bug fixes in astng
1458
+
1459
+ * new functions in fileutils (lines, export) and __init__ (Execute)
1460
+
1461
+
1462
+
1463
+ 2003-09-12 -- 0.3
1464
+ * expect "def suite" or "def Run(runner=None)" on unittest module
1465
+
1466
+ * fixes in modutils
1467
+
1468
+ * major fixes in astng
1469
+
1470
+ * new fileutils and astutils modules
1471
+
1472
+ * enhancement of the configuration module
1473
+
1474
+ * new option type "named" in optik_the ext module
1475
+
1476
+
1477
+
1478
+ 2003-06-18 -- 0.2.2
1479
+ * astng bug fixes
1480
+
1481
+
1482
+
1483
+ 2003-06-04 -- 0.2.1
1484
+ * bug fixes
1485
+
1486
+ * fix packaging problem
1487
+
1488
+
1489
+
1490
+ 2003-06-02 -- 0.2.0
1491
+ * add the interface, modutils, optik_ext and configuration modules
1492
+
1493
+ * add the astng sub-package
1494
+
1495
+ * miscellaneous fixes
1496
+
1497
+
1498
+
1499
+ 2003-04-17 -- 0.1.2
1500
+ * add the stringio module
1501
+
1502
+ * minor fixes
1503
+
1504
+
1505
+
1506
+ 2003-02-28 -- 0.1.1
1507
+ * fix bug in tree.py
1508
+
1509
+ * new file distutils_twisted
1510
+
1511
+
1512
+
1513
+ 2003-02-17 -- 0.1.0
1514
+ * initial revision
1515
+
1516
+
1517
+