exercism-analysis 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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
+