buildz 0.6.55__tar.gz → 0.6.57__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 (348) hide show
  1. {buildz-0.6.55/buildz.egg-info → buildz-0.6.57}/PKG-INFO +1 -1
  2. {buildz-0.6.55 → buildz-0.6.57}/buildz/argz/argz.py +2 -0
  3. buildz-0.6.57/buildz/argz/callz.py +60 -0
  4. {buildz-0.6.55 → buildz-0.6.57}/buildz/argz/conf_argz.py +2 -2
  5. {buildz-0.6.55 → buildz-0.6.57}/buildz/argz/conf_callz.py +54 -8
  6. buildz-0.6.57/buildz/argz/evalx.py +51 -0
  7. {buildz-0.6.55 → buildz-0.6.57}/buildz/argz/test_call.py +29 -2
  8. {buildz-0.6.55 → buildz-0.6.57}/buildz/evalz/evalz.py +6 -0
  9. buildz-0.6.57/buildz/iocz/conf_deal/attr.py +38 -0
  10. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/conf_deal/call.py +3 -2
  11. buildz-0.6.57/buildz/iocz/conf_deal/method.py +43 -0
  12. buildz-0.6.57/buildz/iocz/conf_deal/ref.py +13 -0
  13. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/init.py +35 -1
  14. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc/base.py +3 -1
  15. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc/sys_envs.py +1 -1
  16. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc/unit.py +3 -0
  17. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc_deal/deal.py +3 -2
  18. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc_deal/obj.py +1 -1
  19. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc_deal/ref.py +21 -4
  20. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/test/test.py +18 -8
  21. {buildz-0.6.55 → buildz-0.6.57/buildz.egg-info}/PKG-INFO +1 -1
  22. {buildz-0.6.55 → buildz-0.6.57}/buildz.egg-info/SOURCES.txt +2 -0
  23. {buildz-0.6.55 → buildz-0.6.57}/setup.py +1 -1
  24. buildz-0.6.55/buildz/argz/callz.py +0 -47
  25. buildz-0.6.55/buildz/argz/evalx.py +0 -21
  26. buildz-0.6.55/buildz/iocz/conf_deal/ref.py +0 -13
  27. {buildz-0.6.55 → buildz-0.6.57}/LICENSE +0 -0
  28. {buildz-0.6.55 → buildz-0.6.57}/MANIFEST.in +0 -0
  29. {buildz-0.6.55 → buildz-0.6.57}/README.md +0 -0
  30. {buildz-0.6.55 → buildz-0.6.57}/buildz/__init__.py +0 -0
  31. {buildz-0.6.55 → buildz-0.6.57}/buildz/__main__.py +0 -0
  32. {buildz-0.6.55 → buildz-0.6.57}/buildz/argx.py +0 -0
  33. {buildz-0.6.55 → buildz-0.6.57}/buildz/argz/__init__.py +0 -0
  34. {buildz-0.6.55 → buildz-0.6.57}/buildz/argz/init.py +0 -0
  35. {buildz-0.6.55 → buildz-0.6.57}/buildz/argz/test.py +0 -0
  36. {buildz-0.6.55 → buildz-0.6.57}/buildz/argz_bk/__init__.py +0 -0
  37. {buildz-0.6.55 → buildz-0.6.57}/buildz/argz_bk/argz.py +0 -0
  38. {buildz-0.6.55 → buildz-0.6.57}/buildz/argz_bk/build.py +0 -0
  39. {buildz-0.6.55 → buildz-0.6.57}/buildz/argz_bk/callz.py +0 -0
  40. {buildz-0.6.55 → buildz-0.6.57}/buildz/argz_bk/evalx.py +0 -0
  41. {buildz-0.6.55 → buildz-0.6.57}/buildz/argz_bk/test.py +0 -0
  42. {buildz-0.6.55 → buildz-0.6.57}/buildz/argz_bk/test_obj.py +0 -0
  43. {buildz-0.6.55 → buildz-0.6.57}/buildz/argz_bk/tests/conf.js +0 -0
  44. {buildz-0.6.55 → buildz-0.6.57}/buildz/argz_bk/testx.py +0 -0
  45. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/__init__.py +0 -0
  46. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/cache.py +0 -0
  47. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/config.py +0 -0
  48. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/dbs.py +0 -0
  49. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/deal.py +0 -0
  50. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/deal_list.py +0 -0
  51. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/deal_type.py +0 -0
  52. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/defs.py +0 -0
  53. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/factory.py +0 -0
  54. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/init.py +0 -0
  55. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/log.py +0 -0
  56. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/request.py +0 -0
  57. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/run.py +0 -0
  58. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/save.py +0 -0
  59. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/test/res/cache/cache.js +0 -0
  60. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/test/res/config/base.js +0 -0
  61. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/test/res/config/config.js +0 -0
  62. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/test/res/data/fp.js +0 -0
  63. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/test/res/data/item1.js +0 -0
  64. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/test/res/data/item2.js +0 -0
  65. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/test/res/data/test.js +0 -0
  66. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/test/test.py +0 -0
  67. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/test/xtest.py +0 -0
  68. {buildz-0.6.55 → buildz-0.6.57}/buildz/auto/verify.py +0 -0
  69. {buildz-0.6.55 → buildz-0.6.57}/buildz/base.py +0 -0
  70. {buildz-0.6.55 → buildz-0.6.57}/buildz/cachez/__init__.py +0 -0
  71. {buildz-0.6.55 → buildz-0.6.57}/buildz/cachez/cache.py +0 -0
  72. {buildz-0.6.55 → buildz-0.6.57}/buildz/cmd.py +0 -0
  73. {buildz-0.6.55 → buildz-0.6.57}/buildz/confz.py +0 -0
  74. {buildz-0.6.55 → buildz-0.6.57}/buildz/db/__init__.py +0 -0
  75. {buildz-0.6.55 → buildz-0.6.57}/buildz/db/__main__.py +0 -0
  76. {buildz-0.6.55 → buildz-0.6.57}/buildz/db/dv/__init__.py +0 -0
  77. {buildz-0.6.55 → buildz-0.6.57}/buildz/db/dv/basez.py +0 -0
  78. {buildz-0.6.55 → buildz-0.6.57}/buildz/db/dv/clickhousez.py +0 -0
  79. {buildz-0.6.55 → buildz-0.6.57}/buildz/db/dv/lib/readme +0 -0
  80. {buildz-0.6.55 → buildz-0.6.57}/buildz/db/dv/mysqlz.py +0 -0
  81. {buildz-0.6.55 → buildz-0.6.57}/buildz/db/dv/oraclez.py +0 -0
  82. {buildz-0.6.55 → buildz-0.6.57}/buildz/db/dv/orm.py +0 -0
  83. {buildz-0.6.55 → buildz-0.6.57}/buildz/db/dv/postgresqlz.py +0 -0
  84. {buildz-0.6.55 → buildz-0.6.57}/buildz/db/dv/sqlite3z.py +0 -0
  85. {buildz-0.6.55 → buildz-0.6.57}/buildz/db/dv/structz.py +0 -0
  86. {buildz-0.6.55 → buildz-0.6.57}/buildz/db/install.txt +0 -0
  87. {buildz-0.6.55 → buildz-0.6.57}/buildz/db/run.conf +0 -0
  88. {buildz-0.6.55 → buildz-0.6.57}/buildz/db/runz.py +0 -0
  89. {buildz-0.6.55 → buildz-0.6.57}/buildz/db/tls.py +0 -0
  90. {buildz-0.6.55 → buildz-0.6.57}/buildz/demo/ioc/deal.py +0 -0
  91. {buildz-0.6.55 → buildz-0.6.57}/buildz/demo/ioc/help.py +0 -0
  92. {buildz-0.6.55 → buildz-0.6.57}/buildz/demo/myers/deal.py +0 -0
  93. {buildz-0.6.55 → buildz-0.6.57}/buildz/demo/myers/help.py +0 -0
  94. {buildz-0.6.55 → buildz-0.6.57}/buildz/demo/res/conf/ioc.js +0 -0
  95. {buildz-0.6.55 → buildz-0.6.57}/buildz/demo/res/conf/main.js +0 -0
  96. {buildz-0.6.55 → buildz-0.6.57}/buildz/demo/res/conf/myers.js +0 -0
  97. {buildz-0.6.55 → buildz-0.6.57}/buildz/demo/res/conf/search.js +0 -0
  98. {buildz-0.6.55 → buildz-0.6.57}/buildz/demo/res/conf/xf.js +0 -0
  99. {buildz-0.6.55 → buildz-0.6.57}/buildz/demo/res/help/default.js +0 -0
  100. {buildz-0.6.55 → buildz-0.6.57}/buildz/demo/res/help/ioc.js +0 -0
  101. {buildz-0.6.55 → buildz-0.6.57}/buildz/demo/res/help/myers.js +0 -0
  102. {buildz-0.6.55 → buildz-0.6.57}/buildz/demo/res/help/search.js +0 -0
  103. {buildz-0.6.55 → buildz-0.6.57}/buildz/demo/res/help/xf.js +0 -0
  104. {buildz-0.6.55 → buildz-0.6.57}/buildz/demo/res/test.js +0 -0
  105. {buildz-0.6.55 → buildz-0.6.57}/buildz/demo/search/deal.py +0 -0
  106. {buildz-0.6.55 → buildz-0.6.57}/buildz/demo/search/help.py +0 -0
  107. {buildz-0.6.55 → buildz-0.6.57}/buildz/demo/test.py +0 -0
  108. {buildz-0.6.55 → buildz-0.6.57}/buildz/demo/xf/deal.py +0 -0
  109. {buildz-0.6.55 → buildz-0.6.57}/buildz/demo/xf/help.py +0 -0
  110. {buildz-0.6.55 → buildz-0.6.57}/buildz/dz/__init__.py +0 -0
  111. {buildz-0.6.55 → buildz-0.6.57}/buildz/dz/mapz.py +0 -0
  112. {buildz-0.6.55 → buildz-0.6.57}/buildz/evalz/__init__.py +0 -0
  113. {buildz-0.6.55 → buildz-0.6.57}/buildz/evalz/res/default.js +0 -0
  114. {buildz-0.6.55 → buildz-0.6.57}/buildz/evalz/test.py +0 -0
  115. {buildz-0.6.55 → buildz-0.6.57}/buildz/fz/__init__.py +0 -0
  116. {buildz-0.6.55 → buildz-0.6.57}/buildz/fz/dirz.py +0 -0
  117. {buildz-0.6.55 → buildz-0.6.57}/buildz/fz/fhs.py +0 -0
  118. {buildz-0.6.55 → buildz-0.6.57}/buildz/fz/fio.py +0 -0
  119. {buildz-0.6.55 → buildz-0.6.57}/buildz/fz/lsf.py +0 -0
  120. {buildz-0.6.55 → buildz-0.6.57}/buildz/html/__init__.py +0 -0
  121. {buildz-0.6.55 → buildz-0.6.57}/buildz/html/test/demo.html +0 -0
  122. {buildz-0.6.55 → buildz-0.6.57}/buildz/html/test/test.py +0 -0
  123. {buildz-0.6.55 → buildz-0.6.57}/buildz/html/xml.py +0 -0
  124. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/__init__.py +0 -0
  125. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/base.py +0 -0
  126. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/init.py +0 -0
  127. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc/base.py +0 -0
  128. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc/conf.py +0 -0
  129. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc/confs.py +0 -0
  130. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc/decorator.py +0 -0
  131. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc/loads.py +0 -0
  132. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc/single.py +0 -0
  133. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/base.py +0 -0
  134. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/branch.py +0 -0
  135. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/call.py +0 -0
  136. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/calls.py +0 -0
  137. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/branch_lists.js +0 -0
  138. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
  139. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
  140. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
  141. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/calls_lists.js +0 -0
  142. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/deal_lists.js +0 -0
  143. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/deals.js +0 -0
  144. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
  145. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/ioc_lists.js +0 -0
  146. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/iocf_lists.js +0 -0
  147. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/join_lists.js +0 -0
  148. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/list_lists.js +0 -0
  149. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/map_lists.js +0 -0
  150. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
  151. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
  152. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
  153. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
  154. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
  155. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
  156. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
  157. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/ref_lists.js +0 -0
  158. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/refs_lists.js +0 -0
  159. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
  160. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/xfile_defaults.js +0 -0
  161. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/conf/xfile_lists.js +0 -0
  162. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/deal.py +0 -0
  163. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/demo.py +0 -0
  164. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/env.py +0 -0
  165. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/init.py +0 -0
  166. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/ioc.py +0 -0
  167. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/iocf.py +0 -0
  168. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/join.py +0 -0
  169. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/list.py +0 -0
  170. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/map.py +0 -0
  171. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/mcall.py +0 -0
  172. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/obj.py +0 -0
  173. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/ovar.py +0 -0
  174. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/ref.py +0 -0
  175. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/refs.py +0 -0
  176. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/val.py +0 -0
  177. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/var.py +0 -0
  178. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/ioc_deal/xfile.py +0 -0
  179. {buildz-0.6.55 → buildz-0.6.57}/buildz/ioc/wrap.py +0 -0
  180. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/__init__.py +0 -0
  181. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/base.py +0 -0
  182. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/conf/base.py +0 -0
  183. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/conf/conf.py +0 -0
  184. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/conf/mg.py +0 -0
  185. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/conf/unit.py +0 -0
  186. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/conf/up.py +0 -0
  187. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/conf_deal/base.py +0 -0
  188. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/conf_deal/cvar.py +0 -0
  189. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/conf_deal/deal.py +0 -0
  190. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/conf_deal/env.py +0 -0
  191. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/conf_deal/ioc.py +0 -0
  192. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/conf_deal/obj.py +0 -0
  193. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/conf_deal/val.py +0 -0
  194. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc/__init__.py +0 -0
  195. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc/builds.py +0 -0
  196. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc/confs.py +0 -0
  197. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc/datas.py +0 -0
  198. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc/dataset.py +0 -0
  199. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc/encapes.py +0 -0
  200. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc/envs.py +0 -0
  201. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc/ids.py +0 -0
  202. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc/init.py +0 -0
  203. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc/mg.py +0 -0
  204. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc/single.py +0 -0
  205. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc/tdata.py +0 -0
  206. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc/tdict.py +0 -0
  207. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc/vars.py +0 -0
  208. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc_deal/base.py +0 -0
  209. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc_deal/ioc.py +0 -0
  210. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/ioc_deal/val.py +0 -0
  211. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/wrap/base.py +0 -0
  212. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/wrap/default_wraps.py +0 -0
  213. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/wrap/env.py +0 -0
  214. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/wrap/obj.py +0 -0
  215. {buildz-0.6.55 → buildz-0.6.57}/buildz/iocz/wrap/wraps.py +0 -0
  216. {buildz-0.6.55 → buildz-0.6.57}/buildz/logz.py +0 -0
  217. {buildz-0.6.55 → buildz-0.6.57}/buildz/netz/__init__.py +0 -0
  218. {buildz-0.6.55 → buildz-0.6.57}/buildz/netz/mhttp/__init__.py +0 -0
  219. {buildz-0.6.55 → buildz-0.6.57}/buildz/netz/mhttp/caps.py +0 -0
  220. {buildz-0.6.55 → buildz-0.6.57}/buildz/netz/mhttp/mhttp.py +0 -0
  221. {buildz-0.6.55 → buildz-0.6.57}/buildz/netz/mhttp/proxy.py +0 -0
  222. {buildz-0.6.55 → buildz-0.6.57}/buildz/netz/mhttp/record.py +0 -0
  223. {buildz-0.6.55 → buildz-0.6.57}/buildz/netz/sslz/__init__.py +0 -0
  224. {buildz-0.6.55 → buildz-0.6.57}/buildz/netz/sslz/gen.py +0 -0
  225. {buildz-0.6.55 → buildz-0.6.57}/buildz/netz/sslz/gen.pyi +0 -0
  226. {buildz-0.6.55 → buildz-0.6.57}/buildz/netz/test/__main__.py +0 -0
  227. {buildz-0.6.55 → buildz-0.6.57}/buildz/netz/test/test.py +0 -0
  228. {buildz-0.6.55 → buildz-0.6.57}/buildz/netz/test/test_cli.py +0 -0
  229. {buildz-0.6.55 → buildz-0.6.57}/buildz/pathz.py +0 -0
  230. {buildz-0.6.55 → buildz-0.6.57}/buildz/pyz.py +0 -0
  231. {buildz-0.6.55 → buildz-0.6.57}/buildz/tls.py +0 -0
  232. {buildz-0.6.55 → buildz-0.6.57}/buildz/tools.py +0 -0
  233. {buildz-0.6.55 → buildz-0.6.57}/buildz/tz/__init__.py +0 -0
  234. {buildz-0.6.55 → buildz-0.6.57}/buildz/tz/myers_diff.py +0 -0
  235. {buildz-0.6.55 → buildz-0.6.57}/buildz/tz/test_xfind.py +0 -0
  236. {buildz-0.6.55 → buildz-0.6.57}/buildz/tz/time/__init__.py +0 -0
  237. {buildz-0.6.55 → buildz-0.6.57}/buildz/tz/time/timez.py +0 -0
  238. {buildz-0.6.55 → buildz-0.6.57}/buildz/tz/tio/__init__.py +0 -0
  239. {buildz-0.6.55 → buildz-0.6.57}/buildz/tz/tio/base.py +0 -0
  240. {buildz-0.6.55 → buildz-0.6.57}/buildz/tz/tio/getch.py +0 -0
  241. {buildz-0.6.55 → buildz-0.6.57}/buildz/tz/tio/lx.py +0 -0
  242. {buildz-0.6.55 → buildz-0.6.57}/buildz/tz/tio/test.py +0 -0
  243. {buildz-0.6.55 → buildz-0.6.57}/buildz/tz/tio/win.py +0 -0
  244. {buildz-0.6.55 → buildz-0.6.57}/buildz/tz/xfind.py +0 -0
  245. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/__init__.py +0 -0
  246. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/__main__.py +0 -0
  247. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/base.py +0 -0
  248. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/code.py +0 -0
  249. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/code_modify.py +0 -0
  250. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/copy_old.py +0 -0
  251. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/file.py +0 -0
  252. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loader/base.py +0 -0
  253. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loader/buffer.py +0 -0
  254. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loader/deal/listz.py +0 -0
  255. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loader/deal/lr.py +0 -0
  256. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loader/deal/lrval.py +0 -0
  257. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loader/deal/mapz.py +0 -0
  258. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loader/deal/nextz.py +0 -0
  259. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loader/deal/reval.py +0 -0
  260. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loader/deal/setz.py +0 -0
  261. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loader/deal/spc.py +0 -0
  262. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loader/deal/spt.py +0 -0
  263. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loader/deal/strz.py +0 -0
  264. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loader/exp.py +0 -0
  265. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loader/item.py +0 -0
  266. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loader/mg.py +0 -0
  267. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loader/pos.py +0 -0
  268. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz/base.py +0 -0
  269. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz/buffer.py +0 -0
  270. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz/deal/listmapz.py +0 -0
  271. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz/deal/listz.py +0 -0
  272. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz/deal/lr.py +0 -0
  273. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz/deal/lrval.py +0 -0
  274. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz/deal/mapz.py +0 -0
  275. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz/deal/nextz.py +0 -0
  276. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz/deal/reval.py +0 -0
  277. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz/deal/setz.py +0 -0
  278. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz/deal/spc.py +0 -0
  279. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz/deal/spt.py +0 -0
  280. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz/deal/strz.py +0 -0
  281. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz/deal/strz_new.py +0 -0
  282. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz/deal/strz_old.py +0 -0
  283. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz/exp.py +0 -0
  284. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz/item.py +0 -0
  285. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz/mg.py +0 -0
  286. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz/pos.py +0 -0
  287. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz/test.py +0 -0
  288. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz/test1.py +0 -0
  289. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz_nexp/base.py +0 -0
  290. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz_nexp/buffer.py +0 -0
  291. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz_nexp/deal/listmapz.py +0 -0
  292. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz_nexp/deal/listz.py +0 -0
  293. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz_nexp/deal/lr.py +0 -0
  294. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz_nexp/deal/lrval.py +0 -0
  295. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz_nexp/deal/mapz.py +0 -0
  296. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz_nexp/deal/nextz.py +0 -0
  297. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz_nexp/deal/reval.py +0 -0
  298. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz_nexp/deal/setz.py +0 -0
  299. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz_nexp/deal/spc.py +0 -0
  300. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz_nexp/deal/spt.py +0 -0
  301. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz_nexp/deal/strz.py +0 -0
  302. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz_nexp/deal/strz_new.py +0 -0
  303. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz_nexp/deal/strz_old.py +0 -0
  304. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz_nexp/exp.py +0 -0
  305. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz_nexp/item.py +0 -0
  306. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz_nexp/mg.py +0 -0
  307. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz_nexp/pos.py +0 -0
  308. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz_nexp/test.py +0 -0
  309. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/loaderz_nexp/test1.py +0 -0
  310. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/mapz.py +0 -0
  311. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/read.py +0 -0
  312. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/readz.py +0 -0
  313. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/readz_nexp.py +0 -0
  314. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/stack.py +0 -0
  315. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/write.py +0 -0
  316. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writer/base.py +0 -0
  317. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writer/conf.py +0 -0
  318. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writer/deal/jsonval.py +0 -0
  319. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writer/deal/listmapz.py +0 -0
  320. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writer/deal/listz.py +0 -0
  321. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writer/deal/mapz.py +0 -0
  322. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writer/deal/reval.py +0 -0
  323. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writer/deal/strz.py +0 -0
  324. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writer/itemz.py +0 -0
  325. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writer/mg.py +0 -0
  326. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writerz/base.py +0 -0
  327. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writerz/conf.py +0 -0
  328. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writerz/deal/jsonval.py +0 -0
  329. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writerz/deal/listmapz.py +0 -0
  330. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writerz/deal/listz.py +0 -0
  331. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writerz/deal/mapz.py +0 -0
  332. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writerz/deal/reval.py +0 -0
  333. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writerz/deal/strz.py +0 -0
  334. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writerz/itemz.py +0 -0
  335. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writerz/mg.py +0 -0
  336. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writerz/test.py +0 -0
  337. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writerz/testx.py +0 -0
  338. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/writez.py +0 -0
  339. {buildz-0.6.55 → buildz-0.6.57}/buildz/xf/xargs.py +0 -0
  340. {buildz-0.6.55 → buildz-0.6.57}/buildz/xz/__init__.py +0 -0
  341. {buildz-0.6.55 → buildz-0.6.57}/buildz/xz/conf.js +0 -0
  342. {buildz-0.6.55 → buildz-0.6.57}/buildz/xz/data.js +0 -0
  343. {buildz-0.6.55 → buildz-0.6.57}/buildz/xz/test.py +0 -0
  344. {buildz-0.6.55 → buildz-0.6.57}/buildz/xz/trs.py +0 -0
  345. {buildz-0.6.55 → buildz-0.6.57}/buildz.egg-info/dependency_links.txt +0 -0
  346. {buildz-0.6.55 → buildz-0.6.57}/buildz.egg-info/top_level.txt +0 -0
  347. {buildz-0.6.55 → buildz-0.6.57}/notes/notes.txt +0 -0
  348. {buildz-0.6.55 → buildz-0.6.57}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: buildz
3
- Version: 0.6.55
3
+ Version: 0.6.57
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
@@ -29,6 +29,8 @@ class ArgType:
29
29
 
30
30
  pass
31
31
  class Params(Base):
32
+ def str(self):
33
+ return f"Params(args={self.args}, maps={self.maps})"
32
34
  def init(self, args=[], maps={}):
33
35
  self.args = args
34
36
  self.maps = maps
@@ -0,0 +1,60 @@
1
+ from buildz import Base, xf, dz
2
+ from . import argz
3
+ from . import evalx
4
+ from ..iocz.ioc_deal.base import BaseEncape
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, params):
11
+ return self.fc(*params.args, **params.maps), 1
12
+ @staticmethod
13
+ def make(fc):
14
+ if isinstance(fc, Fc):
15
+ return fc
16
+ return Fc(fc)
17
+ class RetFc(Fc):
18
+ def call(self, params):
19
+ return (params.args, params.maps), 1
20
+ def cal_eval(eval, inputs):
21
+ if eval is None:
22
+ return 1
23
+ return eval(inputs)
24
+ def cal_args(args, inputs):
25
+ if args is None:
26
+ return inputs
27
+ return args(inputs)
28
+ def deal_exp(fc, params, args):
29
+ try:
30
+ return fc(params)
31
+ except argz.ArgExp as exp:
32
+ if args is not None:
33
+ exp = args.deal_exp(exp)
34
+ raise exp
35
+ class Call(Fc):
36
+ def str(self):
37
+ return str(self.fcs)
38
+ def init(self, fc, args=None, eval=None):
39
+ if not dz.islist(fc):
40
+ fc = [fc]
41
+ fc = [self.make(k) for k in fc]
42
+ self.fcs = fc
43
+ self.args = args
44
+ self.eval = eval
45
+ def deal(self, params):
46
+ rst = None,0
47
+ for fc in self.fcs:
48
+ val,mark_call = fc(params)
49
+ if mark_call:
50
+ rst = val, mark_call
51
+ return rst
52
+ def call(self, params):
53
+ if not cal_eval(self.eval, params):
54
+ return None, 0
55
+ params = cal_args(self.args, params)
56
+ return deal_exp(self.deal, params, self.args)
57
+ def add(self, fc):
58
+ self.fcs.append(self.make(fc))
59
+
60
+ pass
@@ -27,8 +27,8 @@ class ArgItemConf(conf.Conf):
27
27
  self.index(1,deal= df, dict_out=1)
28
28
  self.key('default', deal=df, dict_out=1)
29
29
  des = conf.Conf()
30
- des.index(0, 'des')
31
- des.index(1,'need')
30
+ des.index(0,'need')
31
+ des.index(1, 'des')
32
32
  des.index(2, 'remove')
33
33
  self.index(2, deal=des, dict_out=1)
34
34
 
@@ -34,13 +34,45 @@ class ArgsCallEncape(BaseEncape):
34
34
  fcs = [self.ref(fc, self.unit) for fc in self.fcs]
35
35
  self.call_fc = Call(fcs, self.args, self.eval)
36
36
  return self.call_fc
37
+ class IOCZVarCallEncape(BaseEncape):
38
+ def init(self, fc, args, eval, unit):
39
+ if not dz.islist(fc):
40
+ fc = [fc]
41
+ self.fcs = fc
42
+ self.args = args
43
+ self.eval = eval
44
+ self.unit = unit
45
+ def call(self, params=None,**maps):
46
+ if params is None:
47
+ params = iocz.Params()
48
+ inputs = params.inputs
49
+ if inputs is None:
50
+ inputs = argz.Params()
51
+ if not cal_eval(self.eval, inputs):
52
+ return None
53
+ inputs = cal_args(self.args, inputs)
54
+ params.inputs = inputs
55
+ return deal_exp(self.deal, params, self.args)
56
+ def deal(self, params):
57
+ with self.unit.push_vars(params.inputs.maps):
58
+ val = None
59
+ for fc in self.fcs:
60
+ if type(fc)==str:
61
+ fc, _tag, find = self.unit.get_encape(fc)
62
+ assert find, f"fc '{fc}' not found"
63
+ _val = fc(params)
64
+ val = pyz.nnull(_val, val)
65
+ return val
37
66
  class ArgsCallDeal(BaseDeal):
38
- def init(self, fc=True, update_env = False):
67
+ def init(self, fc=True, update_env = False, fc_encape=None):
39
68
  super().init()
40
69
  _conf = BaseConf()
41
70
  index=1
42
71
  self.fc = fc
43
72
  self.update_env = update_env
73
+ if fc_encape is None:
74
+ fc_encape = ArgsCallEncape
75
+ self.fc_encape = fc_encape
44
76
  if fc:
45
77
  _conf.ikey(1, 'fc', 'fcs,calls,call'.split(','))
46
78
  _conf.ikey(2, 'eval', "judges,judge,evals".split(","))
@@ -55,7 +87,7 @@ class ArgsCallDeal(BaseDeal):
55
87
  conf_args = dz.g(conf, conf=None)
56
88
  _eval = None
57
89
  if conf_eval is not None:
58
- _eval = evalBuilder(conf_eval)
90
+ _eval = evalBuilder.default_build(UnitBuild(unit))(conf_eval)
59
91
  _args = None
60
92
  if conf_args is not None:
61
93
  _args = self.args_builder(conf_args)
@@ -69,15 +101,17 @@ class ArgsCallDeal(BaseDeal):
69
101
  fcs = [EnvFc(unit)]
70
102
  else:
71
103
  fcs = [RetFc()]
72
- # if self.update_env and not self.fc:
73
- # return UpdateEnvEncape(_args, _eval, unit)
74
- return ArgsCallEncape(fcs, _args, _eval, unit)
104
+ return self.fc_encape(fcs, _args, _eval, unit)
75
105
  class RetArgsDeal(ArgsCallDeal):
76
106
  def init(self):
77
107
  super().init(False)
78
108
  class UpdateEnvDeal(ArgsCallDeal):
79
109
  def init(self):
80
110
  super().init(False,True)
111
+
112
+ class IOCZVarCallDeal(ArgsCallDeal):
113
+ def init(self):
114
+ super().init(fc_encape=IOCZVarCallEncape)
81
115
  confs = xf.loads(r"""
82
116
  # confs.pri: {
83
117
  # deal_args: {
@@ -106,8 +140,14 @@ confs.pri: [
106
140
  1,
107
141
  [argz,argz_call,argz_fc]
108
142
  )
143
+ (
144
+ (deal, deal_var)
145
+ buildz.argz.conf_callz.IOCZVarCallDeal
146
+ 1,
147
+ [vargz, argz_var]
148
+ )
109
149
  ]
110
- builds: [deal_args, deal_ret, deal_argz_env]
150
+ builds: [deal_args, deal_ret, deal_argz_env, deal_var]
111
151
  """)
112
152
  class ConfBuilder(Base):
113
153
  def init(self, conf=None):
@@ -126,11 +166,17 @@ class ConfBuilder(Base):
126
166
  conf = xf.loads(conf)
127
167
  conf = {'confs': [conf]}
128
168
  self.mg.add_conf(conf)
129
- def call(self, key, args, maps):
169
+ def call(self, key, args=[], maps={}):
130
170
  params = argz.Params(args, maps)
131
171
  #p = iocz.Params(params=params)
132
172
  fc, find = self.mg.get(key)
133
173
  #rst, find = self.mg.get(key, params=p)
134
174
  assert find, f"key not found: '{key}'"
135
175
  return fc(params)[0]
136
- return rst[0]
176
+ return rst[0]
177
+ def get(self, key, args=[], maps={}, ns=None):
178
+ inputs = argz.Params(args, maps)
179
+ params = iocz.Params(inputs=inputs)
180
+ obj, find = self.mg.get(key, params=params)
181
+ assert find, f"key not found: '{key}'"
182
+ return obj
@@ -0,0 +1,51 @@
1
+ #
2
+ from .. import evalz,xf,Base
3
+
4
+ class VarEval(evalz.Eval):
5
+ def init(self, key, stype = 'list'):
6
+ self.key = key
7
+ self.stype = stype
8
+ def call(self, obj):
9
+ args, maps = obj.args, obj.maps
10
+ if self.stype=='list':
11
+ return args[self.key]
12
+ return maps[self.key]
13
+ class VarBuild(evalz.Build):
14
+ def init(self, stype="list"):
15
+ super().init()
16
+ self.stype = stype
17
+ def call(self, data):
18
+ return VarEval(data['data'][0], self.stype)
19
+ lb = VarBuild('list')
20
+ db = VarBuild('dict')
21
+
22
+ class SizeEval(evalz.Eval):
23
+ def init(self, key):
24
+ self.key = key
25
+ def call(self, obj):
26
+ args, maps = obj.args, obj.maps
27
+ if self.key in 'l,list,args'.split(","):
28
+ return len(args)
29
+ elif self.key in 'd,dict,maps'.split(","):
30
+ return len(maps)
31
+ assert 0
32
+ class SizeBuild(evalz.Build):
33
+ def call(self, data):
34
+ return SizeEval(data['data'][0])
35
+ class UnitEval(evalz.Eval):
36
+ def init(self, encape):
37
+ self.encape = encape
38
+ def call(self, obj):
39
+ return self.encape()
40
+ class UnitBuild(evalz.Build):
41
+ def init(self, unit):
42
+ super().init()
43
+ self.unit = unit
44
+ def call(self, data):
45
+ conf = [data['type']]+data['data']
46
+ encape, _, find = self.unit.get_encape(conf)
47
+ assert find
48
+ return UnitEval(encape)
49
+
50
+ sb = SizeBuild()
51
+ evalBuilder = evalz.EvalBuilder.Make().set(["l","list","args"], lb).set(['d','dict','maps'], db).set("size,len".split(","), sb)
@@ -41,19 +41,46 @@ conf = r"""
41
41
  (cvar, search_fc)
42
42
  buildz.fz.search
43
43
  ]
44
+ [
45
+ (obj, search_obj)
46
+ buildz.fz.search
47
+ [(ref, dp)]
48
+ ]
49
+ (
50
+ (vargz, vmain)
51
+ (vsearch)
52
+ )
53
+ (
54
+ (val, test_var),123
55
+ )
56
+ {
57
+ type: vargz
58
+ id: vsearch
59
+ call: search_obj
60
+ judge: and(eq(args[0], search),eq(ref(test_var),123))
61
+ conf={
62
+ range: 1
63
+ dict: {
64
+ dp: ((0, dp), false, (null,1))
65
+ pt_fp: ((1, pt_fp), (true,null))
66
+ pt: ((2, pt), (true,null))
67
+ }
68
+ }
69
+ }
44
70
  """
45
71
  def test_fc(*a, **b):
46
72
  print(f"test_fc({a}, {b})")
47
73
  return a,b
48
74
  def test():
49
- args = ['env','.']
75
+ args = ['search','.']
50
76
  maps = {
51
77
  'pt_fp': r".*\.py$"
52
78
  }
53
79
  bd = argz.build()
54
80
  bd.adds(conf)
55
81
  bd.push_var("test_fc",test_fc)
56
- rst = bd("main", args, maps)
82
+ #rst = bd("main", args, maps)
83
+ rst = bd.get("vmain", args, maps)
57
84
  print(f"rst: {rst}")
58
85
  print(bd.mg.envs)
59
86
  pass
@@ -137,8 +137,12 @@ class EvalBuilder(Base):
137
137
  def init(self, default_type = None):
138
138
  self._default_type = default_type
139
139
  self.builds = {}
140
+ self._default_build = None
140
141
  def default_type(self, dtype):
141
142
  self._default_type = dtype
143
+ def default_build(self, fc):
144
+ self._default_build = fc
145
+ return self
142
146
  def set(self, key, fc):
143
147
  if type(key) not in (list, tuple):
144
148
  key = [key]
@@ -154,6 +158,8 @@ class EvalBuilder(Base):
154
158
  if type(data['data']) not in (list, tuple, set):
155
159
  data['data'] = [data['data']]
156
160
  tp = data['type']
161
+ if tp not in self.builds and self._default_build is not None:
162
+ return self._default_build(data)
157
163
  assert tp in self.builds
158
164
  return self.builds[tp](data)
159
165
  @staticmethod
@@ -0,0 +1,38 @@
1
+
2
+ from .base import *
3
+ from ... import dz,pyz,xf
4
+ class AttrEncape(BaseEncape):
5
+ def init(self, unit, attr, obj):
6
+ super().init()
7
+ self.unit = unit
8
+ self.params = attr, obj
9
+ def call(self, params=None, **maps):
10
+ attr, obj = self.params
11
+ attr = self.obj(attr)
12
+ if isinstance(obj, Encape):
13
+ obj = self.obj(obj)
14
+ elif type(obj)==str:
15
+ obj, find = self.unit.get(obj)
16
+ if obj is None and params is not None:
17
+ obj = params.obj
18
+ assert obj is not None and hasattr(obj, attr), f"attr get failed for "
19
+ return getattr(obj, attr)
20
+ class AttrDeal(BaseDeal):
21
+ def init(self):
22
+ super().init()
23
+ conf = BaseConf()
24
+ conf.ikey(1, 'attr', 'var,data,key'.split(","), need=1)
25
+ conf.ikey(2, 'obj', 'object,src,source'.split(','))
26
+ self.update = conf
27
+ def deal(self, conf, unit):
28
+ assert 'attr' in conf
29
+ attr = conf['attr']
30
+ attr = self.get_encape(attr, unit)
31
+ # obj = dz.g(conf, obj=None)
32
+ # print(f"obj: {obj}")
33
+ # exit()
34
+ obj = dz.get(conf, 'obj')
35
+ obj = self.get_encape(obj, unit)
36
+ return AttrEncape(unit, attr, obj)
37
+
38
+ pass
@@ -2,7 +2,7 @@
2
2
  from .base import *
3
3
  from ... import dz,pyz
4
4
  class CallEncape(BaseEncape):
5
- def init(self, unit, cvar, args, maps):
5
+ def init(self, unit, call, args, maps):
6
6
  super().init()
7
7
  self.unit = unit
8
8
  self.params = call, args, maps
@@ -10,7 +10,8 @@ class CallEncape(BaseEncape):
10
10
  call, args, maps = self.params
11
11
  call = self.obj(call)
12
12
  if type(call)==str:
13
- call = self.unit.get(call)
13
+ call,find = self.unit.get(call)
14
+ assert call is not None
14
15
  args = self.elist2obj(args)
15
16
  maps = self.edict2obj(maps)
16
17
  return call(*args, **maps)
@@ -0,0 +1,43 @@
1
+
2
+ from .base import *
3
+ from ... import dz,pyz
4
+ class MethodEncape(BaseEncape):
5
+ def init(self, unit, method, obj, args, maps):
6
+ super().init()
7
+ self.unit = unit
8
+ self.params = method, obj, args, maps
9
+ def call(self, params=None, **_):
10
+ method, obj, args, maps = self.params
11
+ method = self.obj(method)
12
+ if isinstance(obj, Encape):
13
+ obj = self.obj(obj)
14
+ elif type(obj)==str:
15
+ obj, find = self.unit.get(obj)
16
+ if obj is None and params is not None:
17
+ obj = params.obj
18
+ if type(method)==str:
19
+ assert obj is not None and hasattr(obj, method)
20
+ method = getattr(obj, method)
21
+ args = self.elist2obj(args)
22
+ maps = self.edict2obj(maps)
23
+ return method(*args, **maps)
24
+ class MethodDeal(BaseDeal):
25
+ def init(self):
26
+ super().init()
27
+ conf = BaseConf()
28
+ conf.ikey(1, 'method','call,fc,data,key'.split(","), need=1)
29
+ conf.ikey(2, 'obj', 'source,obj,object,src'.split(","))
30
+ conf.ikey(3, 'args')
31
+ conf.ikey(4, 'maps')
32
+ self.update = conf
33
+ def deal(self, conf, unit):
34
+ assert 'method' in conf
35
+ method = conf['method']
36
+ method = self.get_encape(method, unit)
37
+ obj = dz.get(conf, "obj")
38
+ obj = self.get_encape(obj, unit)
39
+ args = self.get_elist(unit, conf, 'args',[])
40
+ maps = self.get_edict(unit, conf, 'maps', {})
41
+ return MethodEncape(unit, method, obj, args, maps)
42
+
43
+ pass
@@ -0,0 +1,13 @@
1
+
2
+ from .base import *
3
+ from ..ioc_deal import ref
4
+ class RefDeal(ref.RefDeal):
5
+ def init(self, env=-1):
6
+ super().init(env)
7
+ conf = BaseConf()
8
+ conf.ikey(1, 'ref', 'key,data'.split(","), need=1)
9
+ conf.index(2, 'default')
10
+ conf.ikey(3, 'env', 'profile'.split(','))
11
+ self.update = conf
12
+
13
+ pass
@@ -48,8 +48,42 @@ confs.pri: {
48
48
  deals: (env, profile,conf)
49
49
  call=1
50
50
  }
51
+ eref: {
52
+ type=obj
53
+ src: <buildz>.iocz.conf_deal.ref.RefDeal
54
+ args: (0)
55
+ }
56
+ deal_eref: {
57
+ type=deal
58
+ src: [ref, eref]
59
+ deals: (eref)
60
+ call=0
61
+ }
62
+ refe: {
63
+ type=obj
64
+ src: <buildz>.iocz.conf_deal.ref.RefDeal
65
+ args: (1)
66
+ }
67
+ deal_refe: {
68
+ type=deal
69
+ src: [ref, refe]
70
+ deals: (refe)
71
+ call=0
72
+ }
73
+ deal_method: {
74
+ type=deal
75
+ src=<buildz>.iocz.conf_deal.method.MethodDeal
76
+ deals=(method,obj_fc,o_fc)
77
+ call=1
78
+ }
79
+ deal_attr: {
80
+ type=deal
81
+ src=<buildz>.iocz.conf_deal.attr.AttrDeal
82
+ deals=(attr, obj_var, o_var)
83
+ call=1
84
+ }
51
85
  }
52
- builds: [deal_obj,deal_val,deal_ref,deal_ioc,deal_cvar, deal_env,deal_call]
86
+ builds: [deal_obj,deal_val,deal_ref,deal_ioc,deal_cvar, deal_env,deal_call, deal_eref, deal_refe,deal_method,deal_attr]
53
87
  """.replace("<buildz>", "buildz")
54
88
  def build(conf = None, default_conf = True):
55
89
  global s_default_conf
@@ -21,12 +21,14 @@ class Deal(Base):
21
21
  pass
22
22
 
23
23
  class Params(Base):
24
+ def str(self):
25
+ return f"iocz.Params(args={self.args}, maps={self.maps})"
24
26
  @staticmethod
25
27
  def Clone(params, **upds):
26
28
  if params is None:
27
29
  args,maps = [],{}
28
30
  else:
29
- args, maps = list(self.args), dict(self.maps)
31
+ args, maps = list(params.args), dict(params.maps)
30
32
  maps.update(upds)
31
33
  obj = Params()
32
34
  obj.args = args
@@ -8,7 +8,7 @@ class SysEnvs(Base):
8
8
  def tget(self, key, ns=None, tag=None, id=None):
9
9
  rst = os.getenv(key)
10
10
  if rst is None and ns is not None:
11
- gkey = self.ids.id(self.ids(key), self.ids(ns))
11
+ gkey = self.ids.id(self.ids(ns)+self.ids(key))
12
12
  rst = os.getenv(gkey)
13
13
  if rst is None:
14
14
  return None, TagData.Key.Pub, 0
@@ -97,6 +97,9 @@ class Unit(UnitBase):
97
97
  def get_var(self, key, src=-1, tag=None):
98
98
  src, id = self.nsid(src, None)
99
99
  return self.mg.get_var(key, src, tag)
100
+ def push_vars(self, kvs, src=-1, tag=None):
101
+ src, id = self.nsid(src, None)
102
+ return self.mg.push_vars(kvs, src, tag)
100
103
  def get(self, key, params=None, src=-1, id=None, gfind=True, search_var=True):
101
104
  src, id = self.nsid(src, id)
102
105
  if search_var:
@@ -7,7 +7,8 @@ class DealEncape(BaseEncape):
7
7
  super().init()
8
8
  self.src, self.targets, self.tag, self.prev_call, self.unit = src, targets, tag, prev_call, unit
9
9
  def call(self, params=None, **maps):
10
- src = self.src
10
+ #src = self.src
11
+ src = self.obj(self.src)
11
12
  if self.prev_call:
12
13
  src = src()
13
14
  for target in self.targets:
@@ -20,7 +21,7 @@ class DealDeal(BaseDeal):
20
21
  if type(targets) not in (list, tuple):
21
22
  targets = [targets]
22
23
  if Confs.is_conf(src):
23
- src = unit.get_encape(src, unit)
24
+ src = self.get_encape(src, unit)
24
25
  elif type(src)==str:
25
26
  src = self.load(src)
26
27
  return DealEncape(src, targets, tag, prev_call, unit,)
@@ -29,7 +29,7 @@ class ObjectEncape(BaseEncape):
29
29
  args = self.elist2obj(self.args,params)
30
30
  _maps = self.edict2obj(self.maps,params)
31
31
  obj = src(*args, **_maps)
32
- obj_conf = Params.Clone(params, target=obj)
32
+ obj_conf = Params.Clone(params, obj=obj)
33
33
  self.obj(self.before_set, obj_conf)
34
34
  sets = self.edict2obj(self.sets, params, False)
35
35
  for k,v in sets:
@@ -5,16 +5,25 @@ from ..ioc.single import Single
5
5
  class RefEncape(BaseEncape):
6
6
  '''
7
7
  '''
8
- def init(self, ref, default, unit):
8
+ def init(self, ref, default, unit, env=-1):
9
9
  super().init()
10
10
  self.unit = unit
11
11
  self.ref, self.default = ref, default
12
+ self.env = env
12
13
  def call(self, params=None, **maps):
13
14
  ref = self.ref
14
15
  if isinstance(ref, Encape):
15
16
  ref = ref(params)
17
+ if self.env==0:
18
+ obj, _, find = self.unit.get_env(ref)
19
+ if find:
20
+ return obj
16
21
  obj, find = self.unit.get(ref)
17
22
  if not find:
23
+ if self.env==1:
24
+ obj, _, find = self.unit.get_env(ref)
25
+ if find:
26
+ return obj
18
27
  assert self.default[0], f"ref '{ref}' not found"
19
28
  val = self.default[1]
20
29
  if isinstance(val, Encape):
@@ -22,17 +31,25 @@ class RefEncape(BaseEncape):
22
31
  obj = val
23
32
  return obj
24
33
  class RefDeal(BaseDeal):
34
+ def init(self, env = -1):
35
+ super().init()
36
+ self.env = env
25
37
  def deal(self, conf, unit):
26
38
  assert 'ref' in conf, f"[REF] key 'ref' not found in {conf}"
27
39
  ref = dz.g(conf, ref=None)
28
40
  if 'default' in conf:
29
- default = 1,conf['default']
41
+ default = [1,conf['default']]
30
42
  else:
31
- default = 0,None
43
+ default = [0,None]
32
44
  ref = self.get_encape(ref, unit)
33
45
  if default[0]:
34
46
  default[1] = self.get_encape(default[1], unit)
35
- encape = RefEncape(ref, default, unit)
47
+ env = None
48
+ if 'env' in conf:
49
+ env = conf['env']
50
+ if env is None:
51
+ env = self.env
52
+ encape = RefEncape(ref, default, unit, env)
36
53
  return encape
37
54
 
38
55
  pass
@@ -2,20 +2,23 @@
2
2
 
3
3
  from buildz import iocz,xf, pyz, Base
4
4
  profiles = xf.loads(r"""
5
- PYTHON_PATH=test
5
+ xxx.test_var=profile_var_test
6
6
  """)
7
7
  wraps = iocz.build_wraps()
8
- ns = wraps('test').wrap
9
- @ns.obj(id='test')
10
- @ns.obj.args("env,PYTHON_PATH")
8
+ ns = wraps().wrap
9
+ @ns.obj(id='test_wrap')
10
+ @ns.obj.args("ref,xxx.test_var")
11
11
  class Test(Base):
12
12
  def str(self):
13
13
  return f'Test(<{id(self)}>|id={self.id})'
14
14
  def init(self, id=0):
15
15
  super().init()
16
16
  self.id = id
17
- def call(self):
18
- print("Test.show:", self)
17
+ def call(self, val=None):
18
+ if val is None:
19
+ val = self
20
+ print("Test.show:", val)
21
+ return self
19
22
 
20
23
  pass
21
24
  ns.load_profiles(profiles)
@@ -28,6 +31,9 @@ envs: {
28
31
  a=0
29
32
  b=1
30
33
  }
34
+ confs: [
35
+ [(val,test_var), conf_var_test]
36
+ ]
31
37
  confs.ns: [
32
38
  [[obj, test1], <buildz>.iocz.test.test.Test, null,{id=[cvar, <buildz>.iocz.test.test.var]}]
33
39
  {
@@ -38,10 +44,11 @@ confs.ns: [
38
44
  args=[
39
45
  #[ref, test1]
40
46
  #[env, PATH]
41
- [ref, test.test]
42
-
47
+ [method, call,test_wrap]
43
48
  ]
49
+ call: [method, call]
44
50
  }
51
+ [[call,test_call], test, (0)]
45
52
  ]
46
53
  '''.replace("<buildz>", "buildz")
47
54
  def get_env_sys(self, id, sid=None):
@@ -53,6 +60,9 @@ def test():
53
60
  print(mg)
54
61
  #unit = mg.add_conf(confs)
55
62
  unit = mg.add_conf(confs1)
63
+ val,find=unit.get("test_call")
64
+ print(f"test_call: {val,find}")
65
+ exit()
56
66
  with mg.push_vars({"test": 123}):
57
67
  it, find = unit.get("test")
58
68
  print(f"it: {it, id(it)}, find: {find}")