buildz 0.6.15__tar.gz → 0.6.17__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 (197) hide show
  1. {buildz-0.6.15/buildz.egg-info → buildz-0.6.17}/PKG-INFO +1 -1
  2. {buildz-0.6.15 → buildz-0.6.17}/buildz/auto/cache.py +3 -3
  3. buildz-0.6.17/buildz/auto/defs.py +46 -0
  4. buildz-0.6.17/buildz/auto/init.py +13 -0
  5. {buildz-0.6.15 → buildz-0.6.17}/buildz/auto/log.py +13 -0
  6. {buildz-0.6.15 → buildz-0.6.17}/buildz/auto/request.py +21 -7
  7. {buildz-0.6.15 → buildz-0.6.17}/buildz/auto/run.py +2 -2
  8. {buildz-0.6.15 → buildz-0.6.17}/buildz/auto/test/cache/cache.js +26 -15
  9. {buildz-0.6.15 → buildz-0.6.17}/buildz/auto/test/config/config.js +3 -2
  10. {buildz-0.6.15 → buildz-0.6.17}/buildz/auto/test/data/item2.js +4 -1
  11. {buildz-0.6.15 → buildz-0.6.17}/buildz/auto/test/test.py +5 -1
  12. buildz-0.6.17/buildz/html/test/demo.html +2 -0
  13. {buildz-0.6.15 → buildz-0.6.17}/buildz/html/test/test.py +0 -1
  14. {buildz-0.6.15 → buildz-0.6.17}/buildz/html/xml.py +5 -0
  15. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc/confs.py +7 -1
  16. {buildz-0.6.15 → buildz-0.6.17/buildz.egg-info}/PKG-INFO +1 -1
  17. {buildz-0.6.15 → buildz-0.6.17}/buildz.egg-info/SOURCES.txt +2 -0
  18. {buildz-0.6.15 → buildz-0.6.17}/setup.py +1 -1
  19. buildz-0.6.15/buildz/auto/init.py +0 -12
  20. {buildz-0.6.15 → buildz-0.6.17}/LICENSE +0 -0
  21. {buildz-0.6.15 → buildz-0.6.17}/MANIFEST.in +0 -0
  22. {buildz-0.6.15 → buildz-0.6.17}/README.md +0 -0
  23. {buildz-0.6.15 → buildz-0.6.17}/buildz/__init__.py +0 -0
  24. {buildz-0.6.15 → buildz-0.6.17}/buildz/__main__.py +0 -0
  25. {buildz-0.6.15 → buildz-0.6.17}/buildz/argx.py +0 -0
  26. {buildz-0.6.15 → buildz-0.6.17}/buildz/auto/__init__.py +0 -0
  27. {buildz-0.6.15 → buildz-0.6.17}/buildz/auto/config.py +0 -0
  28. {buildz-0.6.15 → buildz-0.6.17}/buildz/auto/deal.py +0 -0
  29. {buildz-0.6.15 → buildz-0.6.17}/buildz/auto/deal_type.py +0 -0
  30. {buildz-0.6.15 → buildz-0.6.17}/buildz/auto/factory.py +0 -0
  31. {buildz-0.6.15 → buildz-0.6.17}/buildz/auto/save.py +0 -0
  32. {buildz-0.6.15 → buildz-0.6.17}/buildz/auto/test/data/item1.js +0 -0
  33. {buildz-0.6.15 → buildz-0.6.17}/buildz/auto/test/data/test.js +0 -0
  34. {buildz-0.6.15 → buildz-0.6.17}/buildz/auto/verify.py +0 -0
  35. {buildz-0.6.15 → buildz-0.6.17}/buildz/base.py +0 -0
  36. {buildz-0.6.15 → buildz-0.6.17}/buildz/cmd.py +0 -0
  37. {buildz-0.6.15 → buildz-0.6.17}/buildz/db/__main__.py +0 -0
  38. {buildz-0.6.15 → buildz-0.6.17}/buildz/db/dv/basez.py +0 -0
  39. {buildz-0.6.15 → buildz-0.6.17}/buildz/db/dv/clickhousez.py +0 -0
  40. {buildz-0.6.15 → buildz-0.6.17}/buildz/db/dv/lib/readme +0 -0
  41. {buildz-0.6.15 → buildz-0.6.17}/buildz/db/dv/mysqlz.py +0 -0
  42. {buildz-0.6.15 → buildz-0.6.17}/buildz/db/dv/oraclez.py +0 -0
  43. {buildz-0.6.15 → buildz-0.6.17}/buildz/db/dv/structz.py +0 -0
  44. {buildz-0.6.15 → buildz-0.6.17}/buildz/db/install.txt +0 -0
  45. {buildz-0.6.15 → buildz-0.6.17}/buildz/db/run.conf +0 -0
  46. {buildz-0.6.15 → buildz-0.6.17}/buildz/db/runz.py +0 -0
  47. {buildz-0.6.15 → buildz-0.6.17}/buildz/demo/ioc/deal.py +0 -0
  48. {buildz-0.6.15 → buildz-0.6.17}/buildz/demo/ioc/help.py +0 -0
  49. {buildz-0.6.15 → buildz-0.6.17}/buildz/demo/myers/deal.py +0 -0
  50. {buildz-0.6.15 → buildz-0.6.17}/buildz/demo/myers/help.py +0 -0
  51. {buildz-0.6.15 → buildz-0.6.17}/buildz/demo/res/conf/ioc.js +0 -0
  52. {buildz-0.6.15 → buildz-0.6.17}/buildz/demo/res/conf/main.js +0 -0
  53. {buildz-0.6.15 → buildz-0.6.17}/buildz/demo/res/conf/myers.js +0 -0
  54. {buildz-0.6.15 → buildz-0.6.17}/buildz/demo/res/conf/search.js +0 -0
  55. {buildz-0.6.15 → buildz-0.6.17}/buildz/demo/res/conf/xf.js +0 -0
  56. {buildz-0.6.15 → buildz-0.6.17}/buildz/demo/res/help/default.js +0 -0
  57. {buildz-0.6.15 → buildz-0.6.17}/buildz/demo/res/help/ioc.js +0 -0
  58. {buildz-0.6.15 → buildz-0.6.17}/buildz/demo/res/help/myers.js +0 -0
  59. {buildz-0.6.15 → buildz-0.6.17}/buildz/demo/res/help/search.js +0 -0
  60. {buildz-0.6.15 → buildz-0.6.17}/buildz/demo/res/help/xf.js +0 -0
  61. {buildz-0.6.15 → buildz-0.6.17}/buildz/demo/res/test.js +0 -0
  62. {buildz-0.6.15 → buildz-0.6.17}/buildz/demo/search/deal.py +0 -0
  63. {buildz-0.6.15 → buildz-0.6.17}/buildz/demo/search/help.py +0 -0
  64. {buildz-0.6.15 → buildz-0.6.17}/buildz/demo/test.py +0 -0
  65. {buildz-0.6.15 → buildz-0.6.17}/buildz/demo/xf/deal.py +0 -0
  66. {buildz-0.6.15 → buildz-0.6.17}/buildz/demo/xf/help.py +0 -0
  67. {buildz-0.6.15 → buildz-0.6.17}/buildz/fz/__init__.py +0 -0
  68. {buildz-0.6.15 → buildz-0.6.17}/buildz/fz/dirz.py +0 -0
  69. {buildz-0.6.15 → buildz-0.6.17}/buildz/fz/fhs.py +0 -0
  70. {buildz-0.6.15 → buildz-0.6.17}/buildz/fz/fio.py +0 -0
  71. {buildz-0.6.15 → buildz-0.6.17}/buildz/fz/lsf.py +0 -0
  72. {buildz-0.6.15 → buildz-0.6.17}/buildz/html/__init__.py +0 -0
  73. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/__init__.py +0 -0
  74. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/base.py +0 -0
  75. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/init.py +0 -0
  76. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc/base.py +0 -0
  77. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc/conf.py +0 -0
  78. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc/decorator.py +0 -0
  79. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc/single.py +0 -0
  80. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/base.py +0 -0
  81. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/branch.py +0 -0
  82. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/call.py +0 -0
  83. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/calls.py +0 -0
  84. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/branch_lists.js +0 -0
  85. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
  86. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
  87. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
  88. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/calls_lists.js +0 -0
  89. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/deal_lists.js +0 -0
  90. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/deals.js +0 -0
  91. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
  92. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/ioc_lists.js +0 -0
  93. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/iocf_lists.js +0 -0
  94. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/join_lists.js +0 -0
  95. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/list_lists.js +0 -0
  96. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/map_lists.js +0 -0
  97. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
  98. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
  99. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
  100. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
  101. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
  102. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
  103. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
  104. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/ref_lists.js +0 -0
  105. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/refs_lists.js +0 -0
  106. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
  107. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/xfile_defaults.js +0 -0
  108. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/conf/xfile_lists.js +0 -0
  109. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/deal.py +0 -0
  110. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/demo.py +0 -0
  111. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/env.py +0 -0
  112. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/init.py +0 -0
  113. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/ioc.py +0 -0
  114. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/iocf.py +0 -0
  115. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/join.py +0 -0
  116. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/list.py +0 -0
  117. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/map.py +0 -0
  118. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/mcall.py +0 -0
  119. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/obj.py +0 -0
  120. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/ovar.py +0 -0
  121. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/ref.py +0 -0
  122. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/refs.py +0 -0
  123. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/val.py +0 -0
  124. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/var.py +0 -0
  125. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/ioc_deal/xfile.py +0 -0
  126. {buildz-0.6.15 → buildz-0.6.17}/buildz/ioc/wrap.py +0 -0
  127. {buildz-0.6.15 → buildz-0.6.17}/buildz/pyz.py +0 -0
  128. {buildz-0.6.15 → buildz-0.6.17}/buildz/tools.py +0 -0
  129. {buildz-0.6.15 → buildz-0.6.17}/buildz/tz/__init__.py +0 -0
  130. {buildz-0.6.15 → buildz-0.6.17}/buildz/tz/myers_diff.py +0 -0
  131. {buildz-0.6.15 → buildz-0.6.17}/buildz/tz/tio/__init__.py +0 -0
  132. {buildz-0.6.15 → buildz-0.6.17}/buildz/tz/tio/base.py +0 -0
  133. {buildz-0.6.15 → buildz-0.6.17}/buildz/tz/tio/getch.py +0 -0
  134. {buildz-0.6.15 → buildz-0.6.17}/buildz/tz/tio/lx.py +0 -0
  135. {buildz-0.6.15 → buildz-0.6.17}/buildz/tz/tio/test.py +0 -0
  136. {buildz-0.6.15 → buildz-0.6.17}/buildz/tz/tio/win.py +0 -0
  137. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/__init__.py +0 -0
  138. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/__main__.py +0 -0
  139. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/code.py +0 -0
  140. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/code_modify.py +0 -0
  141. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/copy_old.py +0 -0
  142. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/file.py +0 -0
  143. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loader/base.py +0 -0
  144. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loader/buffer.py +0 -0
  145. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loader/deal/listz.py +0 -0
  146. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loader/deal/lr.py +0 -0
  147. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loader/deal/lrval.py +0 -0
  148. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loader/deal/mapz.py +0 -0
  149. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loader/deal/nextz.py +0 -0
  150. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loader/deal/reval.py +0 -0
  151. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loader/deal/setz.py +0 -0
  152. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loader/deal/spc.py +0 -0
  153. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loader/deal/spt.py +0 -0
  154. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loader/deal/strz.py +0 -0
  155. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loader/exp.py +0 -0
  156. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loader/item.py +0 -0
  157. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loader/mg.py +0 -0
  158. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loader/pos.py +0 -0
  159. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loaderz/base.py +0 -0
  160. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loaderz/buffer.py +0 -0
  161. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loaderz/deal/listmapz.py +0 -0
  162. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loaderz/deal/listz.py +0 -0
  163. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loaderz/deal/lr.py +0 -0
  164. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loaderz/deal/lrval.py +0 -0
  165. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loaderz/deal/mapz.py +0 -0
  166. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loaderz/deal/nextz.py +0 -0
  167. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loaderz/deal/reval.py +0 -0
  168. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loaderz/deal/setz.py +0 -0
  169. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loaderz/deal/spc.py +0 -0
  170. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loaderz/deal/spt.py +0 -0
  171. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loaderz/deal/strz.py +0 -0
  172. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loaderz/deal/strz_new.py +0 -0
  173. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loaderz/deal/strz_old.py +0 -0
  174. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loaderz/exp.py +0 -0
  175. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loaderz/item.py +0 -0
  176. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loaderz/mg.py +0 -0
  177. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loaderz/pos.py +0 -0
  178. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loaderz/test.py +0 -0
  179. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/loaderz/test1.py +0 -0
  180. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/mapz.py +0 -0
  181. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/read.py +0 -0
  182. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/readz.py +0 -0
  183. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/stack.py +0 -0
  184. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/write.py +0 -0
  185. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/writer/base.py +0 -0
  186. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/writer/conf.py +0 -0
  187. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/writer/deal/jsonval.py +0 -0
  188. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/writer/deal/listz.py +0 -0
  189. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/writer/deal/mapz.py +0 -0
  190. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/writer/deal/reval.py +0 -0
  191. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/writer/deal/strz.py +0 -0
  192. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/writer/itemz.py +0 -0
  193. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/writer/mg.py +0 -0
  194. {buildz-0.6.15 → buildz-0.6.17}/buildz/xf/xargs.py +0 -0
  195. {buildz-0.6.15 → buildz-0.6.17}/buildz.egg-info/dependency_links.txt +0 -0
  196. {buildz-0.6.15 → buildz-0.6.17}/buildz.egg-info/top_level.txt +0 -0
  197. {buildz-0.6.15 → buildz-0.6.17}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: buildz
3
- Version: 0.6.15
3
+ Version: 0.6.17
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
@@ -61,8 +61,8 @@ class Save(Base):
61
61
  return
62
62
  fz.makefdir(fp)
63
63
  rst = self.cache.data
64
- rs = xf.dumps(rst, format=True)
65
- fz.write(rs, fp, 'w')
64
+ rs = xf.dumps(rst, format=True).encode("utf-8")
65
+ fz.write(rs, fp, 'wb')
66
66
  return True
67
67
 
68
68
  pass
@@ -117,7 +117,7 @@ class Cache(Base):
117
117
  data = {}
118
118
  if os.path.isfile(fp):
119
119
  self.log.info(f"load cache from {fp}")
120
- data = xf.flush_maps(xf.loadf(fp),visit_list=False)
120
+ data = xf.flush_maps(xf.loadf(fp),visit_list=True)
121
121
  xf.fill(data, self.data, replace=0)
122
122
  return True
123
123
 
@@ -0,0 +1,46 @@
1
+ #
2
+ from ..tools import *
3
+ from buildz.ioc import wrap
4
+ @wrap.obj(id="defs")
5
+ @wrap.obj_args("ref, cache", "ref, log", "ref, cache.modify")
6
+ class Defs(Base):
7
+ def init(self, cache, log, upd):
8
+ self.cache = cache
9
+ self.log = log
10
+ self.upd = upd
11
+ def update(self, s, defs, ignore=None):
12
+ if type(s)==dict:
13
+ rst = {}
14
+ for k,v in s.items():
15
+ if k == ignore:
16
+ continue
17
+ k,v = self.update(k, defs), self.update(v, defs)
18
+ rst[k] = v
19
+ return rst
20
+ elif type(s)==list:
21
+ rst = []
22
+ for v in s:
23
+ v = self.update(v,defs)
24
+ rst.append(v)
25
+ return rst
26
+ for k,v in defs.items():
27
+ if k==s:
28
+ s = v
29
+ continue
30
+ if type(k)!=str:
31
+ continue
32
+ if type(s)!=str:
33
+ continue
34
+ s = s.replace(k,str(v))
35
+ return s
36
+ def call(self, data, fc=None):
37
+ defs = self.upd(xf.g(data, defs = {}))
38
+ data = self.update(data, defs, "defs")
39
+ data = self.upd(data)
40
+ if fc is None:
41
+ return True
42
+ return fc(data)
43
+
44
+ pass
45
+
46
+
@@ -0,0 +1,13 @@
1
+ #
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+ from . import deal, deal_type, factory, cache, log, config
13
+ from . import verify, save, request, defs
@@ -11,6 +11,7 @@ import time, sys
11
11
  class Log(Base):
12
12
  def init(self):
13
13
  self.fp = None
14
+ self.show=[]
14
15
  def log(self, level, *args):
15
16
  args = [str(k) for k in args]
16
17
  msg = " ".join(args)
@@ -22,16 +23,28 @@ class Log(Base):
22
23
  fz.makefdir(fp)
23
24
  fz.write(msg.encode("utf-8"), fp, 'ab')
24
25
  def info(self, *args):
26
+ if "info" not in self.shows:
27
+ return
25
28
  self.log("INFO", *args)
26
29
  def warn(self, *args):
30
+ if "warn" not in self.shows:
31
+ return
27
32
  self.log("WARN", *args)
28
33
  def debug(self, *args):
34
+ if "debug" not in self.shows:
35
+ return
29
36
  self.log("DEBUG", *args)
30
37
  def error(self, *args):
38
+ if "error" not in self.shows:
39
+ return
31
40
  self.log("ERROR", *args)
32
41
  def call(self, maps, fp):
33
42
  fp = xf.g(maps, log = None)
34
43
  self.fp = fp
44
+ shows = xf.get(maps, "log.shows")
45
+ if shows is None:
46
+ shows = ["info", "warn", "error"]
47
+ self.shows = shows
35
48
  return True
36
49
 
37
50
  pass
@@ -13,14 +13,16 @@ except:
13
13
 
14
14
  pass
15
15
  class Request(Base):
16
- def init(self, http_type, use_session, log, upd):
16
+ def init(self, http_type, use_session, log, upd, cache=None, debug=False):
17
17
  self.type = http_type
18
+ self.cache = cache
18
19
  self.use_session = use_session
19
20
  self.log = log
20
21
  self.upd = upd
21
22
  self.fc = None
22
23
  self.fcs = None
23
24
  self.key_data = None
25
+ self.debug = debug
24
26
  self.build()
25
27
  def build(self):
26
28
  fcs = {}
@@ -54,9 +56,14 @@ class Request(Base):
54
56
  url = xf.g(data, url=None)
55
57
  xf.s(data, status_code = rp.status_code)
56
58
  xf.s(data, result_code = rp.status_code)
59
+ if self.debug:
60
+ self.log.debug(f"request url '{url}' return code: {rp.status_code}")
57
61
  try:
58
62
  xf.s(data, result_content=rp.content)
63
+ debug_ct = rp.content
59
64
  s = xf.decode(rp.content, "utf-8")
65
+ if self.debug:
66
+ self.log.debug(f"request url '{url}' return msg:{s}")
60
67
  xf.s(data, result_text=s)
61
68
  except Exception as exp:
62
69
  self.log.warn(f"exp in deal response on '{url}': {exp}")
@@ -79,13 +86,20 @@ class Request(Base):
79
86
  if self.fc is None:
80
87
  self.log.error("install requests to use this(pip install requests)")
81
88
  return False
89
+ if self.cache is not None:
90
+ debug = self.cache.get("request.debug")
91
+ if debug is not None:
92
+ self.debug = debug
82
93
  if self.upd is not None:
83
94
  data = self.upd(data)
84
95
  url = xf.g(data, url=None)
96
+ #self.log.debug(f"request.debug: {self.debug}")
97
+ if self.debug:
98
+ self.log.debug(f"try request url '{url}' with type {self.type}")
85
99
  try:
86
100
  rp = self.req(data)
87
101
  except Exception as exp:
88
- self.log.error("error in request '{url}' with method {self.type}: {exp}")
102
+ self.log.error(f"error in request '{url}' with method {self.type}: {exp}")
89
103
  return False
90
104
  self.rsp(rp, data)
91
105
  if fc is None:
@@ -96,35 +110,35 @@ pass
96
110
 
97
111
 
98
112
  @wrap.obj(id="request.post")
99
- @wrap.obj_args("post", "env, request.session, false", "ref, log", "ref, cache.modify")
113
+ @wrap.obj_args("post", "env, request.session, false", "ref, log", "ref, cache.modify", "ref, cache", "env, debug, false")
100
114
  class Post(Request):
101
115
  pass
102
116
 
103
117
  pass
104
118
 
105
119
  @wrap.obj(id="request.json")
106
- @wrap.obj_args("json", "env, request.session, false", "ref, log", "ref, cache.modify")
120
+ @wrap.obj_args("json", "env, request.session, false", "ref, log", "ref, cache.modify", "ref, cache", "env, debug, false")
107
121
  class Json(Request):
108
122
  pass
109
123
 
110
124
  pass
111
125
 
112
126
  @wrap.obj(id="request.get")
113
- @wrap.obj_args("get", "env, request.session, false", "ref, log", "ref, cache.modify")
127
+ @wrap.obj_args("get", "env, request.session, false", "ref, log", "ref, cache.modify", "ref, cache", "env, debug, false")
114
128
  class Get(Request):
115
129
  pass
116
130
 
117
131
  pass
118
132
 
119
133
  @wrap.obj(id="request.put")
120
- @wrap.obj_args("put", "env, request.session, false", "ref, log", "ref, cache.modify")
134
+ @wrap.obj_args("put", "env, request.session, false", "ref, log", "ref, cache.modify", "ref, cache", "env, debug, false")
121
135
  class Put(Request):
122
136
  pass
123
137
 
124
138
  pass
125
139
 
126
140
  @wrap.obj(id="request.delete")
127
- @wrap.obj_args("delete", "env, request.session, false", "ref, log", "ref, cache.modify")
141
+ @wrap.obj_args("delete", "env, request.session, false", "ref, log", "ref, cache.modify", "ref, cache", "env, debug, false")
128
142
  class Delete(Request):
129
143
  pass
130
144
 
@@ -4,8 +4,8 @@ from ..base import Base
4
4
  from . import init
5
5
  import os
6
6
  class Run(Base):
7
- def init(self, fps=None):
8
- mg = ioc.build()
7
+ def init(self, fps=None, init=None):
8
+ mg = ioc.build(init)
9
9
  if fps is not None:
10
10
  mg.add_fps(fps)
11
11
  self.mg = mg
@@ -1,16 +1,27 @@
1
- {
2
- host: www.baidu.com,
3
- test: {
4
- url: tmpurl,
5
- val: 1,
6
- code: 1.99
7
- },
8
- result: {
9
- code: 1.99
10
- },
11
- test2: {
12
- headers: {
13
- content_type: "text/html; charset=utf-8"
14
- }
15
- }
1
+ {
2
+ cache: {
3
+ path: {
4
+ current: [
5
+ null,
6
+ "D:\\rootz\\python\\gits\\buildz_upd\\buildz\\auto\\test\\data"
7
+ ]
8
+ }
9
+ },
10
+ request: {
11
+ debug: false
12
+ },
13
+ host: www.baidu.com,
14
+ test: {
15
+ url: tmpurl,
16
+ val: 1,
17
+ code: 1.99
18
+ },
19
+ result: {
20
+ code: 1.99
21
+ },
22
+ test2: {
23
+ headers: {
24
+ content_type: "text/html; charset=utf-8"
25
+ }
26
+ }
16
27
  }
@@ -2,9 +2,10 @@ calls: [log, cache, def.deal.type, list, cache.save]
2
2
  cache: cache/cache.js
3
3
  cache.save: cache/cache.js
4
4
  log: log/%Y%m%d_log.txt
5
+ log.shows: [info, warn, debug, error]
5
6
  def.deal: {
6
7
  types: {
7
- http.get: [request, verify, save]
8
- get: [request.get, verify, save]
8
+ http.get: [defs, request, verify, save]
9
+ get: [defs, request.get, verify, save]
9
10
  }
10
11
  }
@@ -1,5 +1,8 @@
1
1
  note: test2
2
- url: "https://#{host}/"
2
+ url: "https://$host/"
3
+ defs: {
4
+ $host:"#{host}"
5
+ }
3
6
  type: get
4
7
  headers: {
5
8
  User-Agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36"
@@ -18,8 +18,12 @@ pass
18
18
  from buildz.auto import Run
19
19
  import sys
20
20
  def test():
21
- Run()("data/test")
21
+ rst = Run(init=xf.maps(env_from_args=True))("data/test")
22
+ print(f"rst: {rst}")
22
23
 
23
24
  pass
24
25
  pyz.lc(locals(), test)
25
26
 
27
+ """
28
+ python test.py env={debug=true}
29
+ """
@@ -0,0 +1,2 @@
1
+ <html>
2
+ </html>
@@ -1,7 +1,6 @@
1
1
 
2
2
  from buildz.html import parse
3
3
  from buildz.tools import *
4
- #demo.html太大,已经删除
5
4
  fp = "demo.html"
6
5
  s = fz.read(fp, "rb").decode("utf-8")
7
6
 
@@ -48,6 +48,8 @@ class HtmlTag:
48
48
  else:
49
49
  tp = "="
50
50
  v = pt
51
+ if val is None and tp not in ["eval", "exec"]:
52
+ return False
51
53
  if tp == '>':
52
54
  return val>v
53
55
  elif tp == "<":
@@ -62,6 +64,9 @@ class HtmlTag:
62
64
  return len(re.findall(v, val))>0
63
65
  elif tp == 'eval':
64
66
  return eval(v)
67
+ elif tp == 'exec':
68
+ exec(v)
69
+ return self.val
65
70
  else:
66
71
  raise Exception(f"not impl match type: '{tp}'")
67
72
  def check(self, args, maps):
@@ -192,6 +192,7 @@ class Confs(Base):
192
192
  // -e a=b --env=a=b --env=c=d
193
193
  // env: {a=b, c=d}
194
194
  env_orders: [args, sys, local, conf]
195
+ env_from_args: false
195
196
  // 命令行读取方式:默认xf(xf.args),可选: buildz(buidlz.argx)
196
197
  args_type: 'xf'
197
198
  // true=类型处理函数deal都是全局的(全局查找),否则优先每个配置文件里查处理函数,查不到才查全局
@@ -234,7 +235,12 @@ class Confs(Base):
234
235
  self.data_index_type = xf.g(conf, data_index_type = [0,0])
235
236
  self.deal_key_type = xf.g(conf, deal_key_type = 'type')
236
237
  self.deal_index_type = xf.g(conf, deal_index_type = 0)
237
- self.env_orders = xf.g(conf, env_orders = ['sys', 'local', 'conf'])
238
+ self.env_orders = xf.g(conf, env_orders = None)
239
+ self.env_from_args = xf.g(conf, env_from_args = False)
240
+ if self.env_orders is None:
241
+ self.env_orders = ['sys', 'local', 'conf']
242
+ if self.env_from_args:
243
+ self.env_orders = ['args', 'sys', 'local', 'conf']
238
244
  self.env_fcs = {
239
245
  'args': self.get_env_args,
240
246
  'sys': self.get_env_sys,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: buildz
3
- Version: 0.6.15
3
+ Version: 0.6.17
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
@@ -18,6 +18,7 @@ buildz/auto/cache.py
18
18
  buildz/auto/config.py
19
19
  buildz/auto/deal.py
20
20
  buildz/auto/deal_type.py
21
+ buildz/auto/defs.py
21
22
  buildz/auto/factory.py
22
23
  buildz/auto/init.py
23
24
  buildz/auto/log.py
@@ -68,6 +69,7 @@ buildz/fz/fio.py
68
69
  buildz/fz/lsf.py
69
70
  buildz/html/__init__.py
70
71
  buildz/html/xml.py
72
+ buildz/html/test/demo.html
71
73
  buildz/html/test/test.py
72
74
  buildz/ioc/__init__.py
73
75
  buildz/ioc/base.py
@@ -7,7 +7,7 @@ from setuptools import setup, find_packages
7
7
 
8
8
  setup(
9
9
  name = 'buildz',
10
- version = '0.6.15',
10
+ version = '0.6.17',
11
11
  keywords='buildz',
12
12
  long_description=open('README.md', 'r', encoding="utf-8").read(),
13
13
  long_description_content_type='text/markdown',
@@ -1,12 +0,0 @@
1
- #
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
- from . import deal, deal_type, factory, cache, verify, log, save, config,request
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
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
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes