buildz 0.6.41__tar.gz → 0.6.43__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 (274) hide show
  1. {buildz-0.6.41/buildz.egg-info → buildz-0.6.43}/PKG-INFO +8 -1
  2. {buildz-0.6.41 → buildz-0.6.43}/README.md +7 -0
  3. buildz-0.6.43/buildz/argz/__init__.py +3 -0
  4. buildz-0.6.43/buildz/argz/argz.py +223 -0
  5. buildz-0.6.43/buildz/argz/build.py +48 -0
  6. buildz-0.6.43/buildz/argz/callz.py +115 -0
  7. buildz-0.6.43/buildz/argz/evalx.py +30 -0
  8. buildz-0.6.43/buildz/argz/test.py +26 -0
  9. buildz-0.6.43/buildz/argz/test_obj.py +38 -0
  10. buildz-0.6.43/buildz/argz/tests/conf.js +31 -0
  11. {buildz-0.6.41 → buildz-0.6.43}/buildz/db/dv/clickhousez.py +3 -0
  12. buildz-0.6.43/buildz/evalz/__init__.py +2 -0
  13. buildz-0.6.43/buildz/evalz/evalz.py +175 -0
  14. buildz-0.6.43/buildz/evalz/res/default.js +12 -0
  15. buildz-0.6.43/buildz/evalz/test.py +32 -0
  16. {buildz-0.6.41 → buildz-0.6.43}/buildz/pathz.py +6 -1
  17. buildz-0.6.43/buildz/tools.py +5 -0
  18. {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/time/timez.py +7 -2
  19. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/__init__.py +1 -1
  20. buildz-0.6.43/buildz/xf/base.py +28 -0
  21. buildz-0.6.43/buildz/xf/loaderz/base.py +40 -0
  22. buildz-0.6.43/buildz/xf/loaderz/buffer.py +165 -0
  23. buildz-0.6.43/buildz/xf/loaderz/deal/listmapz.py +58 -0
  24. buildz-0.6.43/buildz/xf/loaderz/deal/listz.py +33 -0
  25. buildz-0.6.43/buildz/xf/loaderz/deal/lr.py +70 -0
  26. buildz-0.6.43/buildz/xf/loaderz/deal/lrval.py +43 -0
  27. buildz-0.6.43/buildz/xf/loaderz/deal/mapz.py +43 -0
  28. buildz-0.6.43/buildz/xf/loaderz/deal/nextz.py +26 -0
  29. buildz-0.6.43/buildz/xf/loaderz/deal/reval.py +33 -0
  30. buildz-0.6.43/buildz/xf/loaderz/deal/spt.py +40 -0
  31. buildz-0.6.43/buildz/xf/loaderz/deal/strz.py +109 -0
  32. buildz-0.6.43/buildz/xf/loaderz/exp.py +26 -0
  33. buildz-0.6.43/buildz/xf/loaderz/item.py +70 -0
  34. buildz-0.6.43/buildz/xf/loaderz/mg.py +123 -0
  35. buildz-0.6.43/buildz/xf/loaderz/test.py +112 -0
  36. buildz-0.6.43/buildz/xf/loaderz/test1.py +11 -0
  37. {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/deal/listmapz.py +1 -27
  38. buildz-0.6.43/buildz/xf/loaderz_nexp/deal/setz.py +15 -0
  39. buildz-0.6.43/buildz/xf/loaderz_nexp/deal/spc.py +20 -0
  40. buildz-0.6.43/buildz/xf/loaderz_nexp/deal/strz_new.py +284 -0
  41. buildz-0.6.43/buildz/xf/loaderz_nexp/deal/strz_old.py +197 -0
  42. buildz-0.6.43/buildz/xf/loaderz_nexp/pos.py +51 -0
  43. {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/test.py +11 -5
  44. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/readz.py +9 -6
  45. buildz-0.6.43/buildz/xf/readz_nexp.py +179 -0
  46. buildz-0.6.43/buildz/xf/writerz/base.py +58 -0
  47. buildz-0.6.43/buildz/xf/writerz/conf.py +56 -0
  48. buildz-0.6.43/buildz/xf/writerz/deal/jsonval.py +16 -0
  49. buildz-0.6.43/buildz/xf/writerz/deal/listmapz.py +53 -0
  50. buildz-0.6.43/buildz/xf/writerz/deal/listz.py +31 -0
  51. buildz-0.6.43/buildz/xf/writerz/deal/mapz.py +39 -0
  52. buildz-0.6.43/buildz/xf/writerz/deal/reval.py +20 -0
  53. buildz-0.6.43/buildz/xf/writerz/deal/strz.py +49 -0
  54. buildz-0.6.43/buildz/xf/writerz/itemz.py +50 -0
  55. buildz-0.6.43/buildz/xf/writerz/mg.py +37 -0
  56. buildz-0.6.43/buildz/xf/writerz/test.py +71 -0
  57. buildz-0.6.43/buildz/xf/writerz/testx.py +44 -0
  58. buildz-0.6.43/buildz/xf/writez.py +68 -0
  59. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/xargs.py +3 -3
  60. {buildz-0.6.41 → buildz-0.6.43/buildz.egg-info}/PKG-INFO +8 -1
  61. {buildz-0.6.41 → buildz-0.6.43}/buildz.egg-info/SOURCES.txt +47 -1
  62. {buildz-0.6.41 → buildz-0.6.43}/setup.py +1 -1
  63. buildz-0.6.41/buildz/argz/__init__.py +0 -0
  64. buildz-0.6.41/buildz/argz/args.py +0 -19
  65. buildz-0.6.41/buildz/tools.py +0 -5
  66. {buildz-0.6.41 → buildz-0.6.43}/LICENSE +0 -0
  67. {buildz-0.6.41 → buildz-0.6.43}/MANIFEST.in +0 -0
  68. {buildz-0.6.41 → buildz-0.6.43}/buildz/__init__.py +0 -0
  69. {buildz-0.6.41 → buildz-0.6.43}/buildz/__main__.py +0 -0
  70. {buildz-0.6.41 → buildz-0.6.43}/buildz/argx.py +0 -0
  71. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/__init__.py +0 -0
  72. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/cache.py +0 -0
  73. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/config.py +0 -0
  74. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/dbs.py +0 -0
  75. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/deal.py +0 -0
  76. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/deal_list.py +0 -0
  77. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/deal_type.py +0 -0
  78. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/defs.py +0 -0
  79. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/factory.py +0 -0
  80. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/init.py +0 -0
  81. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/log.py +0 -0
  82. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/request.py +0 -0
  83. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/run.py +0 -0
  84. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/save.py +0 -0
  85. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/test/res/cache/cache.js +0 -0
  86. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/test/res/config/base.js +0 -0
  87. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/test/res/config/config.js +0 -0
  88. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/test/res/data/fp.js +0 -0
  89. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/test/res/data/item1.js +0 -0
  90. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/test/res/data/item2.js +0 -0
  91. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/test/res/data/test.js +0 -0
  92. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/test/test.py +0 -0
  93. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/test/xtest.py +0 -0
  94. {buildz-0.6.41 → buildz-0.6.43}/buildz/auto/verify.py +0 -0
  95. {buildz-0.6.41 → buildz-0.6.43}/buildz/base.py +0 -0
  96. {buildz-0.6.41 → buildz-0.6.43}/buildz/cachez/__init__.py +0 -0
  97. {buildz-0.6.41 → buildz-0.6.43}/buildz/cachez/cache.py +0 -0
  98. {buildz-0.6.41 → buildz-0.6.43}/buildz/cmd.py +0 -0
  99. {buildz-0.6.41 → buildz-0.6.43}/buildz/confz.py +0 -0
  100. {buildz-0.6.41 → buildz-0.6.43}/buildz/db/__init__.py +0 -0
  101. {buildz-0.6.41 → buildz-0.6.43}/buildz/db/__main__.py +0 -0
  102. {buildz-0.6.41 → buildz-0.6.43}/buildz/db/dv/__init__.py +0 -0
  103. {buildz-0.6.41 → buildz-0.6.43}/buildz/db/dv/basez.py +0 -0
  104. {buildz-0.6.41 → buildz-0.6.43}/buildz/db/dv/lib/readme +0 -0
  105. {buildz-0.6.41 → buildz-0.6.43}/buildz/db/dv/mysqlz.py +0 -0
  106. {buildz-0.6.41 → buildz-0.6.43}/buildz/db/dv/oraclez.py +0 -0
  107. {buildz-0.6.41 → buildz-0.6.43}/buildz/db/dv/orm.py +0 -0
  108. {buildz-0.6.41 → buildz-0.6.43}/buildz/db/dv/postgresqlz.py +0 -0
  109. {buildz-0.6.41 → buildz-0.6.43}/buildz/db/dv/sqlite3z.py +0 -0
  110. {buildz-0.6.41 → buildz-0.6.43}/buildz/db/dv/structz.py +0 -0
  111. {buildz-0.6.41 → buildz-0.6.43}/buildz/db/install.txt +0 -0
  112. {buildz-0.6.41 → buildz-0.6.43}/buildz/db/run.conf +0 -0
  113. {buildz-0.6.41 → buildz-0.6.43}/buildz/db/runz.py +0 -0
  114. {buildz-0.6.41 → buildz-0.6.43}/buildz/db/tls.py +0 -0
  115. {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/ioc/deal.py +0 -0
  116. {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/ioc/help.py +0 -0
  117. {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/myers/deal.py +0 -0
  118. {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/myers/help.py +0 -0
  119. {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/conf/ioc.js +0 -0
  120. {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/conf/main.js +0 -0
  121. {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/conf/myers.js +0 -0
  122. {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/conf/search.js +0 -0
  123. {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/conf/xf.js +0 -0
  124. {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/help/default.js +0 -0
  125. {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/help/ioc.js +0 -0
  126. {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/help/myers.js +0 -0
  127. {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/help/search.js +0 -0
  128. {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/help/xf.js +0 -0
  129. {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/res/test.js +0 -0
  130. {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/search/deal.py +0 -0
  131. {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/search/help.py +0 -0
  132. {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/test.py +0 -0
  133. {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/xf/deal.py +0 -0
  134. {buildz-0.6.41 → buildz-0.6.43}/buildz/demo/xf/help.py +0 -0
  135. {buildz-0.6.41 → buildz-0.6.43}/buildz/fz/__init__.py +0 -0
  136. {buildz-0.6.41 → buildz-0.6.43}/buildz/fz/dirz.py +0 -0
  137. {buildz-0.6.41 → buildz-0.6.43}/buildz/fz/fhs.py +0 -0
  138. {buildz-0.6.41 → buildz-0.6.43}/buildz/fz/fio.py +0 -0
  139. {buildz-0.6.41 → buildz-0.6.43}/buildz/fz/lsf.py +0 -0
  140. {buildz-0.6.41 → buildz-0.6.43}/buildz/html/__init__.py +0 -0
  141. {buildz-0.6.41 → buildz-0.6.43}/buildz/html/test/demo.html +0 -0
  142. {buildz-0.6.41 → buildz-0.6.43}/buildz/html/test/test.py +0 -0
  143. {buildz-0.6.41 → buildz-0.6.43}/buildz/html/xml.py +0 -0
  144. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/__init__.py +0 -0
  145. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/base.py +0 -0
  146. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/init.py +0 -0
  147. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc/base.py +0 -0
  148. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc/conf.py +0 -0
  149. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc/confs.py +0 -0
  150. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc/decorator.py +0 -0
  151. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc/loads.py +0 -0
  152. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc/single.py +0 -0
  153. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/base.py +0 -0
  154. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/branch.py +0 -0
  155. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/call.py +0 -0
  156. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/calls.py +0 -0
  157. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/branch_lists.js +0 -0
  158. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
  159. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
  160. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
  161. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/calls_lists.js +0 -0
  162. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/deal_lists.js +0 -0
  163. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/deals.js +0 -0
  164. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
  165. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/ioc_lists.js +0 -0
  166. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/iocf_lists.js +0 -0
  167. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/join_lists.js +0 -0
  168. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/list_lists.js +0 -0
  169. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/map_lists.js +0 -0
  170. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
  171. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
  172. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
  173. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
  174. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
  175. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
  176. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
  177. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/ref_lists.js +0 -0
  178. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/refs_lists.js +0 -0
  179. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
  180. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/xfile_defaults.js +0 -0
  181. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/conf/xfile_lists.js +0 -0
  182. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/deal.py +0 -0
  183. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/demo.py +0 -0
  184. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/env.py +0 -0
  185. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/init.py +0 -0
  186. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/ioc.py +0 -0
  187. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/iocf.py +0 -0
  188. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/join.py +0 -0
  189. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/list.py +0 -0
  190. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/map.py +0 -0
  191. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/mcall.py +0 -0
  192. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/obj.py +0 -0
  193. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/ovar.py +0 -0
  194. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/ref.py +0 -0
  195. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/refs.py +0 -0
  196. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/val.py +0 -0
  197. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/var.py +0 -0
  198. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/ioc_deal/xfile.py +0 -0
  199. {buildz-0.6.41 → buildz-0.6.43}/buildz/ioc/wrap.py +0 -0
  200. {buildz-0.6.41 → buildz-0.6.43}/buildz/logz.py +0 -0
  201. {buildz-0.6.41 → buildz-0.6.43}/buildz/pyz.py +0 -0
  202. {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/__init__.py +0 -0
  203. {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/myers_diff.py +0 -0
  204. {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/test_xfind.py +0 -0
  205. {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/time/__init__.py +0 -0
  206. {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/tio/__init__.py +0 -0
  207. {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/tio/base.py +0 -0
  208. {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/tio/getch.py +0 -0
  209. {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/tio/lx.py +0 -0
  210. {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/tio/test.py +0 -0
  211. {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/tio/win.py +0 -0
  212. {buildz-0.6.41 → buildz-0.6.43}/buildz/tz/xfind.py +0 -0
  213. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/__main__.py +0 -0
  214. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/code.py +0 -0
  215. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/code_modify.py +0 -0
  216. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/copy_old.py +0 -0
  217. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/file.py +0 -0
  218. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/base.py +0 -0
  219. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/buffer.py +0 -0
  220. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/deal/listz.py +0 -0
  221. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/deal/lr.py +0 -0
  222. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/deal/lrval.py +0 -0
  223. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/deal/mapz.py +0 -0
  224. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/deal/nextz.py +0 -0
  225. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/deal/reval.py +0 -0
  226. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/deal/setz.py +0 -0
  227. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/deal/spc.py +0 -0
  228. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/deal/spt.py +0 -0
  229. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/deal/strz.py +0 -0
  230. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/exp.py +0 -0
  231. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/item.py +0 -0
  232. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/mg.py +0 -0
  233. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loader/pos.py +0 -0
  234. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loaderz/deal/setz.py +0 -0
  235. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loaderz/deal/spc.py +0 -0
  236. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loaderz/deal/strz_new.py +0 -0
  237. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loaderz/deal/strz_old.py +0 -0
  238. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/loaderz/pos.py +0 -0
  239. {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/base.py +0 -0
  240. {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/buffer.py +0 -0
  241. {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/deal/listz.py +0 -0
  242. {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/deal/lr.py +0 -0
  243. {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/deal/lrval.py +0 -0
  244. {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/deal/mapz.py +0 -0
  245. {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/deal/nextz.py +0 -0
  246. {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/deal/reval.py +0 -0
  247. {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/deal/spt.py +0 -0
  248. {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/deal/strz.py +0 -0
  249. {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/exp.py +0 -0
  250. {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/item.py +0 -0
  251. {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/mg.py +0 -0
  252. {buildz-0.6.41/buildz/xf/loaderz → buildz-0.6.43/buildz/xf/loaderz_nexp}/test1.py +0 -0
  253. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/mapz.py +0 -0
  254. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/read.py +0 -0
  255. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/stack.py +0 -0
  256. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/write.py +0 -0
  257. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/writer/base.py +0 -0
  258. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/writer/conf.py +0 -0
  259. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/writer/deal/jsonval.py +0 -0
  260. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/writer/deal/listmapz.py +0 -0
  261. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/writer/deal/listz.py +0 -0
  262. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/writer/deal/mapz.py +0 -0
  263. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/writer/deal/reval.py +0 -0
  264. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/writer/deal/strz.py +0 -0
  265. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/writer/itemz.py +0 -0
  266. {buildz-0.6.41 → buildz-0.6.43}/buildz/xf/writer/mg.py +0 -0
  267. {buildz-0.6.41 → buildz-0.6.43}/buildz/xz/__init__.py +0 -0
  268. {buildz-0.6.41 → buildz-0.6.43}/buildz/xz/conf.js +0 -0
  269. {buildz-0.6.41 → buildz-0.6.43}/buildz/xz/data.js +0 -0
  270. {buildz-0.6.41 → buildz-0.6.43}/buildz/xz/test.py +0 -0
  271. {buildz-0.6.41 → buildz-0.6.43}/buildz/xz/trs.py +0 -0
  272. {buildz-0.6.41 → buildz-0.6.43}/buildz.egg-info/dependency_links.txt +0 -0
  273. {buildz-0.6.41 → buildz-0.6.43}/buildz.egg-info/top_level.txt +0 -0
  274. {buildz-0.6.41 → buildz-0.6.43}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: buildz
3
- Version: 0.6.41
3
+ Version: 0.6.43
4
4
  Summary: 配置读写(基于json格式进行简化)、ioc、以及其他工具代码。a json-base file format's read and write code by python, and codes to read and product object from configure file in such format(ioc), and other tool codes
5
5
  Home-page: https://github.com/buildCodeZ/buildz
6
6
  Author: Zzz
@@ -38,6 +38,13 @@ Codes of this project are not allowed to be used for AI training or any other fo
38
38
  运行python -m buildz查看帮助
39
39
 
40
40
  持续更新中。。。
41
+ 2025/01/21:
42
+ 修改xf的读写,读加上报错字符串位置,写改成递归调用减少时间开销
43
+ 2025/01/17:
44
+ 加了argz模块和evalz模块
45
+ argz模块用于命令行参数匹配
46
+ evalz模块用于可配置真假判断
47
+ 命令行还差一个入参转map的
41
48
  2024/12/22:
42
49
  增加pathz模块,方便处理路径,修改ioc和db
43
50
  2024/12/18:
@@ -25,6 +25,13 @@ Codes of this project are not allowed to be used for AI training or any other fo
25
25
  运行python -m buildz查看帮助
26
26
 
27
27
  持续更新中。。。
28
+ 2025/01/21:
29
+ 修改xf的读写,读加上报错字符串位置,写改成递归调用减少时间开销
30
+ 2025/01/17:
31
+ 加了argz模块和evalz模块
32
+ argz模块用于命令行参数匹配
33
+ evalz模块用于可配置真假判断
34
+ 命令行还差一个入参转map的
28
35
  2024/12/22:
29
36
  增加pathz模块,方便处理路径,修改ioc和db
30
37
  2024/12/18:
@@ -0,0 +1,3 @@
1
+ from .argz import *
2
+ from .callz import *
3
+ from .evalx import *
@@ -0,0 +1,223 @@
1
+ from buildz import Base, xf
2
+ from . import build
3
+ class ArgExp(Exception):
4
+ def __repr__(self):
5
+ return self.__str__()
6
+ def __str__(self):
7
+ return f"stype: {self.stype}, trs: {self.trs}, des: {self.des}"
8
+ def __init__(self, stype, trs, des=None, prev = None):
9
+ super().__init__()
10
+ self.prev = prev
11
+ self.stype = stype
12
+ self.trs = trs
13
+ self.des = des
14
+
15
+ pass
16
+ class Args(Base):
17
+ def call(self, args, maps):
18
+ return args, maps
19
+ def deal_exp(self, exp):
20
+ return exp
21
+
22
+ pass
23
+ class ArrArgs(Args):
24
+ def init(self, args = None):
25
+ if args is None:
26
+ args = []
27
+ self.args = args
28
+ def add(self, item):
29
+ self.args.append(item)
30
+ return self
31
+ def call(self, args, maps):
32
+ i=0
33
+ try:
34
+ for i in range(len(self.args)):
35
+ item = self.args[i]
36
+ args, maps = item(args,maps)
37
+ except ArgExp as exp:
38
+ for j in range(i-1, -1, -1):
39
+ exp = self.args[j].deal_exp(exp)
40
+ raise exp
41
+ return args, maps
42
+ def deal_exp(self, exp):
43
+ for i in range(len(self.args)-1, -1, -1):
44
+ exp = self.args[i].deal_exp(exp)
45
+ return exp
46
+ class RangeListArgs(Args):
47
+ def init(self, min = 0, max = None):
48
+ self.min = min
49
+ self.max = max
50
+ def deal_exp(self, exp):
51
+ trs = set()
52
+ for key, vtype in exp.trs:
53
+ if vtype=='list':
54
+ trs.add((key+self.min, vtype))
55
+ else:
56
+ trs.add((key, vtype))
57
+ #exp.trs = trs
58
+ return ArgExp(exp.stype, trs, exp.des, exp)
59
+ def call(self, args, maps):
60
+ if len(args)<self.min:
61
+ raise ArgExp("need", set([(self.min, 'list')]))
62
+ if self.max is None:
63
+ args = args[self.min:]
64
+ else:
65
+ args = args[self.min:self.max]
66
+ return args, maps
67
+ class RangeListBuild(build.Build):
68
+ def call(self, conf):
69
+ rg = xf.g(conf, range=None)
70
+ if rg is None:
71
+ return None
72
+ if type(rg)==int:
73
+ rg = [rg, None]
74
+ return RangeListArgs(*rg)
75
+ class ArgItem(Base):
76
+ # vtype = 'dict' | 'list'
77
+ def init(self, key, vtype="dict", need = False, default = False, value = None, des = None,remove=True):
78
+ self.vtype = vtype
79
+ self.key = key
80
+ self.need = need
81
+ self.default = default
82
+ self.value = value
83
+ self.trs = []
84
+ self.remove = remove
85
+ if des is None:
86
+ des = key
87
+ self.des = des
88
+ def add(self, key, vtype="dict"):
89
+ self.trs.append((key, vtype))
90
+ return self
91
+ def deal_exp(self, exp):
92
+ trs = set()
93
+ for key, vtype in exp.trs:
94
+ if key == self.key and vtype==self.vtype:
95
+ trs.update(self.trs)
96
+ else:
97
+ trs.add((key, vtype))
98
+ #exp.trs = trs
99
+ return ArgExp(exp.stype, trs, exp.des, exp)
100
+ return exp
101
+ def call(self, set_args, args, maps, rst_args, rst_maps):
102
+ val = None
103
+ find = False
104
+ for key, vtype in self.trs:
105
+ if vtype =="dict":
106
+ if key in maps:
107
+ val = maps[key]
108
+ if self.remove:
109
+ del maps[key]
110
+ find = True
111
+ break
112
+ else:
113
+ if key in set_args:
114
+ val = args[key]
115
+ if self.remove:
116
+ set_args.remove(key)
117
+ find = True
118
+ break
119
+ if not find:
120
+ if self.default:
121
+ find = True
122
+ val = self.value
123
+ if not find and self.need:
124
+ raise ArgExp("need", set(self.trs), self.des)
125
+ if self.vtype == 'dict':
126
+ rst_maps[self.key] = val
127
+ else:
128
+ rst_args[self.key] = val
129
+
130
+ pass
131
+ class ArgItemBuild(build.Build):
132
+ def call(self, key, vtype, conf):
133
+ need = xf.g(conf, need=False)
134
+ default = xf.g(conf, default=False)
135
+ value = xf.g(conf, value=None)
136
+ des = xf.g(conf, des=None)
137
+ remove = xf.g(conf, remove=True)
138
+ src = conf['src']
139
+ if type(src) not in (list, tuple):
140
+ src = [src]
141
+ item = ArgItem(key, vtype, need, default, value, des, remove)
142
+ for s in src:
143
+ if type(s) not in (list, tuple):
144
+ if type(s)==int:
145
+ s = [s, 'list']
146
+ else:
147
+ s = [s, 'dict']
148
+ if s[1] in ('l', 'args'):
149
+ s[1] = 'list'
150
+ elif s[1] in ('d', 'maps'):
151
+ s[1] = 'dict'
152
+ item.add(*s)
153
+ return item
154
+ class TrsArgs(Args):
155
+ def deal_exp(self, exp):
156
+ for item in self.args:
157
+ exp = item.deal_exp(exp)
158
+ return exp
159
+ def init(self, args=None, keep = True):
160
+ super().init()
161
+ if args is None:
162
+ args = []
163
+ self.args = args
164
+ self.keep = keep
165
+ def add(self, item):
166
+ self.args.append(item)
167
+ return self
168
+ def call(self, args, maps):
169
+ rst_args, rst_maps = {}, {}
170
+ set_args = set(range(len(args)))
171
+ for item in self.args:
172
+ item(set_args, args, maps, rst_args, rst_maps)
173
+ l_args = 0
174
+ if len(rst_args)>0:
175
+ l_args= max(rst_args.keys())
176
+ out_args = []
177
+ if self.keep and len(set_args)>0:
178
+ for i in range(max(set_args)):
179
+ if i in set_args:
180
+ out_args.append(args[i])
181
+ for i in range(l_args+1):
182
+ if i in rst_args:
183
+ if len(out_args)<i:
184
+ raise ArgExp("need", set([(i, 'list')]))
185
+ out_args.append(rst_args[i])
186
+ if self.keep:
187
+ for k in maps:
188
+ if k not in rst_maps:
189
+ rst_maps[k] = maps[k]
190
+ return out_args, rst_maps
191
+
192
+ pass
193
+ class TrsArgsBuild(build.Build):
194
+ def init(self):
195
+ self.item = ArgItemBuild()
196
+ super().init(self.item)
197
+ def call(self, conf):
198
+ keep = xf.g(conf, keep = False)
199
+ lst = xf.g1(conf, list={}, args={})
200
+ dct = xf.g1(conf, dict={}, maps={})
201
+ items = []
202
+ for k, val in lst.items():
203
+ items.append(self.item(k, 'list', val))
204
+ for k, val in dct.items():
205
+ items.append(self.item(k, 'dict', val))
206
+ if len(items)==0:
207
+ return None
208
+ return TrsArgs(items, keep)
209
+ class ArrArgsBuild(build.Build):
210
+ def init(self):
211
+ self.range = RangeListBuild()
212
+ self.trs = TrsArgsBuild()
213
+ super().init(self.trs, self.range)
214
+ def call(self, conf):
215
+ rg = self.range(conf)
216
+ trs = self.trs(conf)
217
+ if rg is None and trs is None:
218
+ return None
219
+ arr = [rg, trs]
220
+ arr = [k for k in arr if k is not None]
221
+ if len(arr)==1:
222
+ return arr[0]
223
+ return ArrArgs(arr)
@@ -0,0 +1,48 @@
1
+ #
2
+ from buildz import Base, xf
3
+ class Build(Base):
4
+ def init(self, *binds):
5
+ self.builder = None
6
+ self.binds = binds
7
+ def bind(self, builder):
8
+ self.builder = builder
9
+ for obj in self.binds:
10
+ obj.bind(builder)
11
+ def call(self, conf):
12
+ assert 0, 'not impl'
13
+ class Builder(Base):
14
+ def init(self, fc = None, key_id = "id"):
15
+ self.vars = {}
16
+ self.confs = {}
17
+ self.key_id = key_id
18
+ self.set_fc(fc)
19
+ def set_fc(self, fc):
20
+ fc.bind(self)
21
+ self.fc = fc
22
+ return self
23
+ def var(self, key, obj):
24
+ self.vars[key] = obj
25
+ return self
26
+ def get_var(self, key):
27
+ return self.vars[key]
28
+ def get_conf(self, key):
29
+ if type(key) == dict:
30
+ conf = key
31
+ else:
32
+ if key not in self.confs:
33
+ return self.get_var(key)
34
+ conf = self.confs[key]
35
+ return self.fc(conf)
36
+ def conf(self, data):
37
+ if type(data) in (list, tuple):
38
+ rst = {}
39
+ for it in data:
40
+ if self.key_id not in it:
41
+ continue
42
+ id = it[self.key_id]
43
+ rst[id] = it
44
+ data = rst
45
+ self.confs = data
46
+ return self
47
+ def call(self, data, key="main"):
48
+ return self.conf(data).get_conf(key)
@@ -0,0 +1,115 @@
1
+ from buildz import Base, xf
2
+ from . import argz
3
+ from . import build
4
+ from . import evalx
5
+ class Fc(Base):
6
+ def str(self):
7
+ return str(self.fc)
8
+ def init(self, fc=None):
9
+ self.fc = fc
10
+ def call(self, args, maps):
11
+ return self.fc(*args, **maps)
12
+ @staticmethod
13
+ def make(fc):
14
+ if isinstance(fc, Fc):
15
+ return fc
16
+ return Fc(fc)
17
+ class ArgsCall(Fc):
18
+ def init(self, fc, args=None, name = None):
19
+ fc=self.make(fc)
20
+ if name is None:
21
+ name = str(fc)
22
+ self.name = name
23
+ self.fc = fc
24
+ self.args = args
25
+ def call(self, args, maps):
26
+ if self.args is not None:
27
+ args, maps = self.args(args, maps)
28
+ try:
29
+ return self.fc(args, maps)
30
+ except argz.ArgExp as exp:
31
+ if self.args is not None:
32
+ exp = self.args.deal_exp(exp)
33
+ raise exp
34
+ class Calls(Fc):
35
+ def str(self):
36
+ return "argz.Calls"
37
+ def init(self, fcs = None, args=None, name = None):
38
+ if name is None:
39
+ name = "argz.calls"
40
+ self.name = name
41
+ if fcs is None:
42
+ fcs = []
43
+ self.fcs = fcs
44
+ self.args = args
45
+ def add(self, fc):
46
+ fc=self.make(fc)
47
+ self.fcs.append(fc)
48
+ def call(self, args, maps):
49
+ val = None
50
+ if self.args is not None:
51
+ args, maps = self.args(args, maps)
52
+ try:
53
+ for fc in self.fcs:
54
+ val = fc(args, maps)
55
+ return val
56
+ except argz.ArgExp as exp:
57
+ if self.args is not None:
58
+ exp = self.args.deal_exp(exp)
59
+ raise exp
60
+ class EvalCall(Fc):
61
+ def init(self, fc, eval=None, name = None):
62
+ fc=self.make(fc)
63
+ if name is None:
64
+ name = str(fc)
65
+ self.eval = eval
66
+ self.fc = fc
67
+ self.name = name
68
+ def call(self, args, maps):
69
+ if self.eval is not None:
70
+ if not self.eval([args, maps]):
71
+ return None
72
+ return self.fc(args, maps)
73
+ class CallsBuild(build.Build):
74
+ def call(self, conf):
75
+ ctype = xf.g(conf, type=None)
76
+ if ctype != "calls":
77
+ return None
78
+ calls = xf.g(conf, calls = [])
79
+ if len(calls)==0:
80
+ return None
81
+ calls = [self.builder.get_conf(conf) for conf in calls]
82
+ return Calls(calls)
83
+ class FcBuild(build.Build):
84
+ def call(self, conf):
85
+ ctype = xf.g(conf, type=None)
86
+ if ctype != "call":
87
+ return None
88
+ src = xf.g(conf, src = None)
89
+ fc = self.builder.get_var(src)
90
+ return Fc(fc)
91
+ class CallBuild(build.Build):
92
+ def init(self):
93
+ self.args = argz.ArrArgsBuild()
94
+ self.eval = evalx.EvalBuild()
95
+ self.fc = FcBuild()
96
+ self.calls = CallsBuild()
97
+ super().init(self.args, self.eval, self.fc, self.calls)
98
+ def call(self, conf):
99
+ args = self.args(conf)
100
+ judges = self.eval(conf)
101
+ fc = self.fc(conf)
102
+ calls = self.calls(conf)
103
+ bfc = fc is None
104
+ bcls = calls is None
105
+ assert (bfc+bcls)==1
106
+ if fc is None:
107
+ fc = calls
108
+ if args is not None:
109
+ fc = ArgsCall(fc, args)
110
+ if judges is not None:
111
+ fc = EvalCall(fc, judges)
112
+ return fc
113
+ class CallBuilder(build.Builder):
114
+ def init(self, key_id = "id"):
115
+ super().init(CallBuild(), key_id)
@@ -0,0 +1,30 @@
1
+ #
2
+ from buildz import evalz,xf
3
+
4
+ from . import build
5
+ class VarEval(evalz.Eval):
6
+ def init(self, key, stype = 'list'):
7
+ self.key = key
8
+ self.stype = stype
9
+ def call(self, obj):
10
+ args, maps = obj
11
+ if self.stype=='list':
12
+ return args[self.key]
13
+ return maps[self.key]
14
+ class VarBuild(evalz.Build):
15
+ def init(self, stype="list"):
16
+ super().init()
17
+ self.stype = stype
18
+ def call(self, data):
19
+ return VarEval(data['data'][0], self.stype)
20
+ lb = VarBuild('list')
21
+ db = VarBuild('dict')
22
+ evalBuilder = evalz.EvalBuilder.Make().set(["l","list","args"], lb).set(['d','dict','maps'], db)
23
+ class EvalBuild(build.Build):
24
+ def call(self, conf):
25
+ judge = xf.g1(conf, judge=None, eval=None)
26
+ if judge is None:
27
+ return None
28
+ return evalBuilder(judge)
29
+
30
+ pass
@@ -0,0 +1,26 @@
1
+ from buildz import argz,xf,Base,evalz,pathz
2
+ import sys,os
3
+
4
+ path = pathz.Path()
5
+ path.set("res", path(path.dir(__file__), "tests"))
6
+ conf = xf.loadf(path.res("conf.js"))
7
+
8
+ def search(dp, filepath = None, content = None):
9
+ print(f"call in search: ({dp}, {filepath}, {content})")
10
+ return f"call in search {dp}"
11
+
12
+ pass
13
+
14
+
15
+ mg = argz.CallBuilder().var("search", search)
16
+ fc = mg(conf)
17
+
18
+ ins = xf.args(base=0)
19
+ args, maps = ins.args, ins.maps
20
+
21
+ rst = fc(args, maps)
22
+ print(f"rst: {rst}")
23
+ '''
24
+ python -m buildz.argz.test search /d/rootz
25
+ python -m buildz.argz.test search /d/rootz f=asf c=test
26
+ '''
@@ -0,0 +1,38 @@
1
+ from buildz import argz,xf,Base,evalz,pathz
2
+ '''
3
+ python -m buildz.argz.test search /d/rootz
4
+ python -m buildz.argz.test_obj search /d/rootz f=asf c=test
5
+ '''
6
+
7
+ def search(dp, filepath = None, content = None):
8
+ print(f"call in search: ({dp}, {filepath}, {content})")
9
+ return f"call in search {dp}"
10
+
11
+ pass
12
+
13
+ args = argz.ArrArgs().add(
14
+ argz.RangeListArgs(1)
15
+ )
16
+ trs = argz.TrsArgs().add(
17
+ argz.ArgItem("filepath", "dict").add("f", "dict").add("fp", "dict").add("filepath", "dict")
18
+ ).add(
19
+ argz.ArgItem(0, "list",need=True,des="path").add(0, "list")
20
+ ).add(
21
+ argz.ArgItem("content", "dict").add("c", "dict").add("ct", "dict").add("content", "dict")
22
+ )
23
+ args.add(trs)
24
+ fc = argz.ArgsCall(search, args)
25
+ judge = lambda obj:obj[0][0]=='search'
26
+ fc = argz.EvalCall(fc, judge)
27
+ fcs = argz.Calls([fc])
28
+
29
+
30
+
31
+ main_args = argz.ArrArgs().add(argz.RangeListArgs(1))
32
+ main = argz.ArgsCall(fcs, main_args)
33
+
34
+
35
+ ins = xf.args(base=0)
36
+ args, maps = ins.args, ins.maps
37
+ rst = main(args, maps)
38
+ print(rst)
@@ -0,0 +1,31 @@
1
+ {
2
+ id: main
3
+ type: calls
4
+ range: 1
5
+ calls: [
6
+ search
7
+ ]
8
+ }
9
+ {
10
+ id: search
11
+ type: call
12
+ src: search
13
+ judge: ['=', args[0], search]
14
+ range: 1
15
+ keep: 1
16
+ list: {
17
+ 0: {
18
+ des: path
19
+ need: 1
20
+ src: 0
21
+ }
22
+ }
23
+ maps: {
24
+ filepath: {
25
+ src: [f, fp, filepath]
26
+ }
27
+ content: {
28
+ src: [c, ct, content]
29
+ }
30
+ }
31
+ }
@@ -10,6 +10,9 @@ from .basez import SimpleDv, fetch
10
10
  from .structz import CMD
11
11
  class Db(SimpleDv):
12
12
  # func to impl:
13
+ def query(self, sql, vals={}, as_map = None):
14
+ assert len(vals)==0
15
+ return super().query(sql, {}, as_map)
13
16
  def to_list(self, rst):
14
17
  rows = self.cursor.description
15
18
  keys = [k[0].lower() for k in rows]
@@ -0,0 +1,2 @@
1
+
2
+ from .evalz import *