csvpath 0.0.487__tar.gz → 0.0.488__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. {csvpath-0.0.487 → csvpath-0.0.488}/PKG-INFO +1 -1
  2. csvpath-0.0.488/config/config.ini +29 -0
  3. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/managers/result_serializer.py +1 -2
  4. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/util/config.py +9 -0
  5. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/util/error.py +17 -1
  6. {csvpath-0.0.487 → csvpath-0.0.488}/pyproject.toml +1 -1
  7. {csvpath-0.0.487 → csvpath-0.0.488}/LICENSE +0 -0
  8. {csvpath-0.0.487 → csvpath-0.0.488}/README.md +0 -0
  9. /csvpath-0.0.487/config/config.ini → /csvpath-0.0.488/config/config copy.ini +0 -0
  10. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/__init__.py +0 -0
  11. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/csvpath.py +0 -0
  12. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/csvpaths.py +0 -0
  13. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/managers/__init__.py +0 -0
  14. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/managers/csvpaths_manager.py +0 -0
  15. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/managers/file_manager.py +0 -0
  16. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/managers/result.py +0 -0
  17. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/managers/results_manager.py +0 -0
  18. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/__init__.py +0 -0
  19. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/__init__.py +0 -0
  20. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/args.py +0 -0
  21. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/boolean/all.py +0 -0
  22. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/boolean/andf.py +0 -0
  23. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/boolean/any.py +0 -0
  24. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/boolean/between.py +0 -0
  25. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/boolean/empty.py +0 -0
  26. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/boolean/exists.py +0 -0
  27. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/boolean/inf.py +0 -0
  28. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/boolean/no.py +0 -0
  29. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/boolean/notf.py +0 -0
  30. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/boolean/orf.py +0 -0
  31. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/boolean/yes.py +0 -0
  32. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/counting/count.py +0 -0
  33. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/counting/count_headers.py +0 -0
  34. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/counting/count_lines.py +0 -0
  35. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/counting/count_scans.py +0 -0
  36. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/counting/counter.py +0 -0
  37. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/counting/every.py +0 -0
  38. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/counting/has_matches.py +0 -0
  39. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/counting/increment.py +0 -0
  40. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/counting/tally.py +0 -0
  41. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/counting/total_lines.py +0 -0
  42. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/dates/now.py +0 -0
  43. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/function.py +0 -0
  44. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/function_factory.py +0 -0
  45. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/function_finder.py +0 -0
  46. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/function_focus.py +0 -0
  47. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/headers/append.py +0 -0
  48. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/headers/collect.py +0 -0
  49. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/headers/empty_stack.py +0 -0
  50. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/headers/end.py +0 -0
  51. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/headers/header_name.py +0 -0
  52. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/headers/header_names_mismatch.py +0 -0
  53. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/headers/headers.py +0 -0
  54. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/headers/mismatch.py +0 -0
  55. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/headers/replace.py +0 -0
  56. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/headers/reset_headers.py +0 -0
  57. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/lines/advance.py +0 -0
  58. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/lines/after_blank.py +0 -0
  59. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/lines/dups.py +0 -0
  60. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/lines/first.py +0 -0
  61. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/lines/first_line.py +0 -0
  62. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/lines/last.py +0 -0
  63. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/lines/stop.py +0 -0
  64. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/math/above.py +0 -0
  65. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/math/add.py +0 -0
  66. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/math/divide.py +0 -0
  67. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/math/equals.py +0 -0
  68. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/math/intf.py +0 -0
  69. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/math/mod.py +0 -0
  70. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/math/multiply.py +0 -0
  71. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/math/round.py +0 -0
  72. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/math/subtotal.py +0 -0
  73. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/math/subtract.py +0 -0
  74. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/math/sum.py +0 -0
  75. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/misc/importf.py +0 -0
  76. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/misc/random.py +0 -0
  77. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/print/jinjaf.py +0 -0
  78. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/print/print_line.py +0 -0
  79. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/print/print_queue.py +0 -0
  80. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/print/printf.py +0 -0
  81. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/print/table.py +0 -0
  82. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/stats/minf.py +0 -0
  83. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/stats/percent.py +0 -0
  84. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/stats/percent_unique.py +0 -0
  85. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/stats/stdev.py +0 -0
  86. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/strings/concat.py +0 -0
  87. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/strings/length.py +0 -0
  88. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/strings/lower.py +0 -0
  89. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/strings/metaphone.py +0 -0
  90. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/strings/regex.py +0 -0
  91. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/strings/starts_with.py +0 -0
  92. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/strings/strip.py +0 -0
  93. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/strings/substring.py +0 -0
  94. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/strings/upper.py +0 -0
  95. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/testing/debug.py +0 -0
  96. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/types/__init__.py +0 -0
  97. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/types/boolean.py +0 -0
  98. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/types/datef.py +0 -0
  99. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/types/decimal.py +0 -0
  100. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/types/nonef.py +0 -0
  101. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/types/string.py +0 -0
  102. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/types/type.py +0 -0
  103. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/validity/fail.py +0 -0
  104. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/validity/failed.py +0 -0
  105. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/validity/line.py +0 -0
  106. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/variables/get.py +0 -0
  107. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/variables/pushpop.py +0 -0
  108. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/variables/put.py +0 -0
  109. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/variables/track.py +0 -0
  110. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/functions/variables/variables.py +0 -0
  111. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/lark_parser.py +0 -0
  112. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/lark_transformer.py +0 -0
  113. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/matcher.py +0 -0
  114. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/productions/__init__.py +0 -0
  115. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/productions/equality.py +0 -0
  116. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/productions/expression.py +0 -0
  117. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/productions/header.py +0 -0
  118. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/productions/matchable.py +0 -0
  119. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/productions/qualified.py +0 -0
  120. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/productions/reference.py +0 -0
  121. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/productions/term.py +0 -0
  122. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/productions/variable.py +0 -0
  123. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/util/exceptions.py +0 -0
  124. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/util/expression_encoder.py +0 -0
  125. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/util/expression_utility.py +0 -0
  126. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/util/lark_print_parser.py +0 -0
  127. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/util/print_parser.py +0 -0
  128. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/matching/util/runtime_data_collector.py +0 -0
  129. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/scanning/__init__.py +0 -0
  130. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/scanning/exceptions.py +0 -0
  131. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/scanning/parser.out +0 -0
  132. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/scanning/parsetab.py +0 -0
  133. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/scanning/scanner.py +0 -0
  134. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/scanning/scanning_lexer.py +0 -0
  135. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/util/cache.py +0 -0
  136. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/util/config_exception.py +0 -0
  137. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/util/exceptions.py +0 -0
  138. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/util/file_readers.py +0 -0
  139. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/util/last_line_stats.py +0 -0
  140. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/util/line_counter.py +0 -0
  141. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/util/line_monitor.py +0 -0
  142. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/util/log_utility.py +0 -0
  143. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/util/metadata_parser.py +0 -0
  144. {csvpath-0.0.487 → csvpath-0.0.488}/csvpath/util/printer.py +0 -0
  145. {csvpath-0.0.487 → csvpath-0.0.488}/docs/asbool.md +0 -0
  146. {csvpath-0.0.487 → csvpath-0.0.488}/docs/assignment.md +0 -0
  147. {csvpath-0.0.487 → csvpath-0.0.488}/docs/comments.md +0 -0
  148. {csvpath-0.0.487 → csvpath-0.0.488}/docs/config.md +0 -0
  149. {csvpath-0.0.487 → csvpath-0.0.488}/docs/examples.md +0 -0
  150. {csvpath-0.0.487 → csvpath-0.0.488}/docs/files.md +0 -0
  151. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/above.md +0 -0
  152. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/advance.md +0 -0
  153. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/after_blank.md +0 -0
  154. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/all.md +0 -0
  155. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/andor.md +0 -0
  156. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/any.md +0 -0
  157. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/average.md +0 -0
  158. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/between.md +0 -0
  159. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/collect.md +0 -0
  160. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/correlate.md +0 -0
  161. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/count.md +0 -0
  162. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/count_headers.md +0 -0
  163. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/counter.md +0 -0
  164. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/date.md +0 -0
  165. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/empty.md +0 -0
  166. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/empty_stack.md +0 -0
  167. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/end.md +0 -0
  168. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/every.md +0 -0
  169. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/fail.md +0 -0
  170. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/first.md +0 -0
  171. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/get.md +0 -0
  172. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/has_dups.md +0 -0
  173. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/has_matches.md +0 -0
  174. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/header.md +0 -0
  175. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/header_name.md +0 -0
  176. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/header_names_mismatch.md +0 -0
  177. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/implementing_functions.md +0 -0
  178. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/import.md +0 -0
  179. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/in.md +0 -0
  180. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/increment.md +0 -0
  181. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/intf.md +0 -0
  182. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/jinja.md +0 -0
  183. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/last.md +0 -0
  184. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/line.md +0 -0
  185. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/line_number.md +0 -0
  186. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/max.md +0 -0
  187. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/metaphone.md +0 -0
  188. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/mismatch.md +0 -0
  189. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/no.md +0 -0
  190. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/not.md +0 -0
  191. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/now.md +0 -0
  192. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/percent_unique.md +0 -0
  193. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/pop.md +0 -0
  194. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/print.md +0 -0
  195. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/print_line.md +0 -0
  196. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/print_queue.md +0 -0
  197. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/random.md +0 -0
  198. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/regex.md +0 -0
  199. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/replace.md +0 -0
  200. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/reset_headers.md +0 -0
  201. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/stdev.md +0 -0
  202. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/stop.md +0 -0
  203. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/string_functions.md +0 -0
  204. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/subtotal.md +0 -0
  205. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/subtract.md +0 -0
  206. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/sum.md +0 -0
  207. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/tally.md +0 -0
  208. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/total_lines.md +0 -0
  209. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/track.md +0 -0
  210. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/types.md +0 -0
  211. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/variables.md +0 -0
  212. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions/variables_and_headers.md +0 -0
  213. {csvpath-0.0.487 → csvpath-0.0.488}/docs/functions.md +0 -0
  214. {csvpath-0.0.487 → csvpath-0.0.488}/docs/grammar.md +0 -0
  215. {csvpath-0.0.487 → csvpath-0.0.488}/docs/headers.md +0 -0
  216. {csvpath-0.0.487 → csvpath-0.0.488}/docs/images/logo-wordmark-white-on-black-trimmed-padded.png +0 -0
  217. {csvpath-0.0.487 → csvpath-0.0.488}/docs/images/logo-wordmark-white-trimmed.png +0 -0
  218. {csvpath-0.0.487 → csvpath-0.0.488}/docs/paths.md +0 -0
  219. {csvpath-0.0.487 → csvpath-0.0.488}/docs/printing.md +0 -0
  220. {csvpath-0.0.487 → csvpath-0.0.488}/docs/qualifiers.md +0 -0
  221. {csvpath-0.0.487 → csvpath-0.0.488}/docs/references.md +0 -0
  222. {csvpath-0.0.487 → csvpath-0.0.488}/docs/terms.md +0 -0
  223. {csvpath-0.0.487 → csvpath-0.0.488}/docs/variables.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: csvpath
3
- Version: 0.0.487
3
+ Version: 0.0.488
4
4
  Summary: A declarative language for validation of CSV files
5
5
  Author: David Kershaw
6
6
  Author-email: dk107dk@hotmail.com
@@ -0,0 +1,29 @@
1
+ [csvpath_files]
2
+ extensions = txt, csvpath, csvpaths
3
+
4
+ [csv_files]
5
+ extensions = txt, csv, tsv, dat, tab, psv, ssv
6
+
7
+ [errors]
8
+ csvpath = raise, collect, stop, fail, print
9
+ csvpaths = raise, collect
10
+
11
+ [logging]
12
+ csvpath = info
13
+ csvpaths = info
14
+ log_file = logs/csvpath.log
15
+ log_files_to_keep = 100
16
+ log_file_size = 52428800
17
+
18
+ [config]
19
+ path = config/config.ini
20
+
21
+ [cache]
22
+ path = cache
23
+
24
+ [functions]
25
+ imports = config/functions.imports
26
+
27
+ [results]
28
+ archive = archive
29
+
@@ -23,7 +23,7 @@ class ResultSerializer:
23
23
  runtime_data["run_index"] = result.run_index
24
24
  self._save(
25
25
  metadata=result.csvpath.metadata,
26
- errors=result.errors,
26
+ errors=[e.to_json() for e in result.errors],
27
27
  variables=result.variables,
28
28
  lines=result.lines,
29
29
  printouts=result.get_printouts(),
@@ -62,7 +62,6 @@ class ResultSerializer:
62
62
  "metadata": metadata,
63
63
  "runtime_data": runtime_data,
64
64
  }
65
- print(f"\nresult_serializer: meta: {meta}")
66
65
  run_dir = self.get_instance_dir(run_dir=run_dir, identity=identity)
67
66
  # Save the JSON files
68
67
  with open(os.path.join(run_dir, "meta.json"), "w") as f:
@@ -120,6 +120,12 @@ class Config:
120
120
  f"WARNING: Check config at {self.config_path} for [{section}][{name}]"
121
121
  )
122
122
 
123
+ def add_to_config(self, section, key, value) -> None:
124
+ if not self._config.has_section(section):
125
+ self._config.add_section(section)
126
+ self._config.set(section, key, value)
127
+ self.save_config()
128
+
123
129
  def save_config(self) -> None:
124
130
  with open(self.configpath, "w") as f:
125
131
  self._config.write(f)
@@ -352,6 +358,9 @@ archive = archive
352
358
  def archive_path(self) -> str:
353
359
  if self._archive_path is None:
354
360
  self._archive_path = self._get("results", "archive")
361
+ if self._archive_path is None:
362
+ self._archive_path = "archive"
363
+ self.add_to_config("results", "archive", "archive")
355
364
  return self._archive_path
356
365
 
357
366
  @archive_path.setter
@@ -79,7 +79,23 @@ class Error:
79
79
  self.json: str = None
80
80
  self.datum: Any = None
81
81
  self.filename: str = None
82
- self.at: datetime = datetime.now()
82
+ self.at: datetime.now()
83
+
84
+ def to_json(self) -> dict:
85
+ ret = {
86
+ "line_count":self.line_count,
87
+ "match_count":self.match_count,
88
+ "scan_count":self.scan_count,
89
+ "error":f"{self.error}",
90
+ "source":f"{self.source}",
91
+ "message":self.message,
92
+ "trace":self.trace,
93
+ "json":self.json,
94
+ "datum":self.datum,
95
+ "filename":self.filename,
96
+ "at":f"{self.at}"
97
+ }
98
+ return ret
83
99
 
84
100
  def __str__(self) -> str:
85
101
  string = f"""Error
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "csvpath"
3
- version = "0.0.487"
3
+ version = "0.0.488"
4
4
  description = "A declarative language for validation of CSV files"
5
5
  authors = ["David Kershaw <dk107dk@hotmail.com>"]
6
6
  readme = "README.md"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes