buildz 0.6.52__tar.gz → 0.6.54__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 (346) hide show
  1. {buildz-0.6.52/buildz.egg-info → buildz-0.6.54}/PKG-INFO +1 -1
  2. buildz-0.6.54/buildz/argz/tests/conf.js +34 -0
  3. buildz-0.6.54/buildz/argzx/argz.py +216 -0
  4. buildz-0.6.54/buildz/argzx/conf_argz.py +118 -0
  5. buildz-0.6.54/buildz/argzx/test.py +29 -0
  6. {buildz-0.6.52 → buildz-0.6.54}/buildz/evalz/evalz.py +1 -0
  7. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/conf/conf.py +26 -3
  8. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/conf/mg.py +13 -9
  9. buildz-0.6.54/buildz/iocz/conf/unit.py +111 -0
  10. buildz-0.6.54/buildz/iocz/conf_deal/base.py +3 -0
  11. buildz-0.6.54/buildz/iocz/conf_deal/call.py +34 -0
  12. buildz-0.6.54/buildz/iocz/conf_deal/cvar.py +28 -0
  13. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/conf_deal/deal.py +2 -2
  14. buildz-0.6.54/buildz/iocz/conf_deal/env.py +35 -0
  15. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/init.py +27 -2
  16. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/base.py +14 -3
  17. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/confs.py +1 -1
  18. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/datas.py +4 -0
  19. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/dataset.py +18 -20
  20. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/encapes.py +9 -9
  21. buildz-0.6.54/buildz/iocz/ioc/envs.py +28 -0
  22. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/mg.py +40 -3
  23. buildz-0.6.54/buildz/iocz/ioc/sys_envs.py +15 -0
  24. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/tdata.py +18 -0
  25. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/tdict.py +4 -0
  26. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/unit.py +23 -4
  27. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/vars.py +1 -0
  28. buildz-0.6.54/buildz/iocz/ioc_deal/base.py +85 -0
  29. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc_deal/deal.py +1 -6
  30. buildz-0.6.54/buildz/iocz/ioc_deal/obj.py +61 -0
  31. {buildz-0.6.52/buildz/iocz/conf → buildz-0.6.54/buildz/iocz/test}/test.py +20 -37
  32. buildz-0.6.54/buildz/iocz/wrap/base.py +60 -0
  33. buildz-0.6.54/buildz/iocz/wrap/default_wraps.py +14 -0
  34. buildz-0.6.54/buildz/iocz/wrap/env.py +6 -0
  35. buildz-0.6.54/buildz/iocz/wrap/obj.py +33 -0
  36. buildz-0.6.54/buildz/iocz/wrap/wraps.py +79 -0
  37. {buildz-0.6.52 → buildz-0.6.54/buildz.egg-info}/PKG-INFO +1 -1
  38. {buildz-0.6.52 → buildz-0.6.54}/buildz.egg-info/SOURCES.txt +13 -4
  39. {buildz-0.6.52 → buildz-0.6.54}/setup.py +1 -1
  40. buildz-0.6.52/buildz/argz/tests/conf.js +0 -31
  41. buildz-0.6.52/buildz/iocz/conf/unit.py +0 -79
  42. buildz-0.6.52/buildz/iocz/conf_deal/base.py +0 -2
  43. buildz-0.6.52/buildz/iocz/ioc/env.py +0 -117
  44. buildz-0.6.52/buildz/iocz/ioc/envs.py +0 -15
  45. buildz-0.6.52/buildz/iocz/ioc/test.py +0 -45
  46. buildz-0.6.52/buildz/iocz/ioc/test1.py +0 -36
  47. buildz-0.6.52/buildz/iocz/ioc_deal/base.py +0 -44
  48. buildz-0.6.52/buildz/iocz/ioc_deal/obj.py +0 -69
  49. {buildz-0.6.52 → buildz-0.6.54}/LICENSE +0 -0
  50. {buildz-0.6.52 → buildz-0.6.54}/MANIFEST.in +0 -0
  51. {buildz-0.6.52 → buildz-0.6.54}/README.md +0 -0
  52. {buildz-0.6.52 → buildz-0.6.54}/buildz/__init__.py +0 -0
  53. {buildz-0.6.52 → buildz-0.6.54}/buildz/__main__.py +0 -0
  54. {buildz-0.6.52 → buildz-0.6.54}/buildz/argx.py +0 -0
  55. {buildz-0.6.52 → buildz-0.6.54}/buildz/argz/__init__.py +0 -0
  56. {buildz-0.6.52 → buildz-0.6.54}/buildz/argz/argz.py +0 -0
  57. {buildz-0.6.52 → buildz-0.6.54}/buildz/argz/build.py +0 -0
  58. {buildz-0.6.52 → buildz-0.6.54}/buildz/argz/callz.py +0 -0
  59. {buildz-0.6.52 → buildz-0.6.54}/buildz/argz/evalx.py +0 -0
  60. {buildz-0.6.52 → buildz-0.6.54}/buildz/argz/test.py +0 -0
  61. {buildz-0.6.52 → buildz-0.6.54}/buildz/argz/test_obj.py +0 -0
  62. {buildz-0.6.52 → buildz-0.6.54}/buildz/argz/testx.py +0 -0
  63. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/__init__.py +0 -0
  64. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/cache.py +0 -0
  65. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/config.py +0 -0
  66. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/dbs.py +0 -0
  67. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/deal.py +0 -0
  68. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/deal_list.py +0 -0
  69. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/deal_type.py +0 -0
  70. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/defs.py +0 -0
  71. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/factory.py +0 -0
  72. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/init.py +0 -0
  73. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/log.py +0 -0
  74. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/request.py +0 -0
  75. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/run.py +0 -0
  76. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/save.py +0 -0
  77. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/test/res/cache/cache.js +0 -0
  78. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/test/res/config/base.js +0 -0
  79. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/test/res/config/config.js +0 -0
  80. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/test/res/data/fp.js +0 -0
  81. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/test/res/data/item1.js +0 -0
  82. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/test/res/data/item2.js +0 -0
  83. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/test/res/data/test.js +0 -0
  84. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/test/test.py +0 -0
  85. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/test/xtest.py +0 -0
  86. {buildz-0.6.52 → buildz-0.6.54}/buildz/auto/verify.py +0 -0
  87. {buildz-0.6.52 → buildz-0.6.54}/buildz/base.py +0 -0
  88. {buildz-0.6.52 → buildz-0.6.54}/buildz/cachez/__init__.py +0 -0
  89. {buildz-0.6.52 → buildz-0.6.54}/buildz/cachez/cache.py +0 -0
  90. {buildz-0.6.52 → buildz-0.6.54}/buildz/cmd.py +0 -0
  91. {buildz-0.6.52 → buildz-0.6.54}/buildz/confz.py +0 -0
  92. {buildz-0.6.52 → buildz-0.6.54}/buildz/db/__init__.py +0 -0
  93. {buildz-0.6.52 → buildz-0.6.54}/buildz/db/__main__.py +0 -0
  94. {buildz-0.6.52 → buildz-0.6.54}/buildz/db/dv/__init__.py +0 -0
  95. {buildz-0.6.52 → buildz-0.6.54}/buildz/db/dv/basez.py +0 -0
  96. {buildz-0.6.52 → buildz-0.6.54}/buildz/db/dv/clickhousez.py +0 -0
  97. {buildz-0.6.52 → buildz-0.6.54}/buildz/db/dv/lib/readme +0 -0
  98. {buildz-0.6.52 → buildz-0.6.54}/buildz/db/dv/mysqlz.py +0 -0
  99. {buildz-0.6.52 → buildz-0.6.54}/buildz/db/dv/oraclez.py +0 -0
  100. {buildz-0.6.52 → buildz-0.6.54}/buildz/db/dv/orm.py +0 -0
  101. {buildz-0.6.52 → buildz-0.6.54}/buildz/db/dv/postgresqlz.py +0 -0
  102. {buildz-0.6.52 → buildz-0.6.54}/buildz/db/dv/sqlite3z.py +0 -0
  103. {buildz-0.6.52 → buildz-0.6.54}/buildz/db/dv/structz.py +0 -0
  104. {buildz-0.6.52 → buildz-0.6.54}/buildz/db/install.txt +0 -0
  105. {buildz-0.6.52 → buildz-0.6.54}/buildz/db/run.conf +0 -0
  106. {buildz-0.6.52 → buildz-0.6.54}/buildz/db/runz.py +0 -0
  107. {buildz-0.6.52 → buildz-0.6.54}/buildz/db/tls.py +0 -0
  108. {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/ioc/deal.py +0 -0
  109. {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/ioc/help.py +0 -0
  110. {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/myers/deal.py +0 -0
  111. {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/myers/help.py +0 -0
  112. {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/conf/ioc.js +0 -0
  113. {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/conf/main.js +0 -0
  114. {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/conf/myers.js +0 -0
  115. {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/conf/search.js +0 -0
  116. {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/conf/xf.js +0 -0
  117. {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/help/default.js +0 -0
  118. {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/help/ioc.js +0 -0
  119. {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/help/myers.js +0 -0
  120. {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/help/search.js +0 -0
  121. {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/help/xf.js +0 -0
  122. {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/res/test.js +0 -0
  123. {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/search/deal.py +0 -0
  124. {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/search/help.py +0 -0
  125. {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/test.py +0 -0
  126. {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/xf/deal.py +0 -0
  127. {buildz-0.6.52 → buildz-0.6.54}/buildz/demo/xf/help.py +0 -0
  128. {buildz-0.6.52 → buildz-0.6.54}/buildz/dz/__init__.py +0 -0
  129. {buildz-0.6.52 → buildz-0.6.54}/buildz/dz/mapz.py +0 -0
  130. {buildz-0.6.52 → buildz-0.6.54}/buildz/evalz/__init__.py +0 -0
  131. {buildz-0.6.52 → buildz-0.6.54}/buildz/evalz/res/default.js +0 -0
  132. {buildz-0.6.52 → buildz-0.6.54}/buildz/evalz/test.py +0 -0
  133. {buildz-0.6.52 → buildz-0.6.54}/buildz/fz/__init__.py +0 -0
  134. {buildz-0.6.52 → buildz-0.6.54}/buildz/fz/dirz.py +0 -0
  135. {buildz-0.6.52 → buildz-0.6.54}/buildz/fz/fhs.py +0 -0
  136. {buildz-0.6.52 → buildz-0.6.54}/buildz/fz/fio.py +0 -0
  137. {buildz-0.6.52 → buildz-0.6.54}/buildz/fz/lsf.py +0 -0
  138. {buildz-0.6.52 → buildz-0.6.54}/buildz/html/__init__.py +0 -0
  139. {buildz-0.6.52 → buildz-0.6.54}/buildz/html/test/demo.html +0 -0
  140. {buildz-0.6.52 → buildz-0.6.54}/buildz/html/test/test.py +0 -0
  141. {buildz-0.6.52 → buildz-0.6.54}/buildz/html/xml.py +0 -0
  142. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/__init__.py +0 -0
  143. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/base.py +0 -0
  144. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/init.py +0 -0
  145. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc/base.py +0 -0
  146. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc/conf.py +0 -0
  147. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc/confs.py +0 -0
  148. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc/decorator.py +0 -0
  149. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc/loads.py +0 -0
  150. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc/single.py +0 -0
  151. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/base.py +0 -0
  152. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/branch.py +0 -0
  153. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/call.py +0 -0
  154. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/calls.py +0 -0
  155. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/branch_lists.js +0 -0
  156. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
  157. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
  158. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
  159. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/calls_lists.js +0 -0
  160. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/deal_lists.js +0 -0
  161. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/deals.js +0 -0
  162. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
  163. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/ioc_lists.js +0 -0
  164. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/iocf_lists.js +0 -0
  165. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/join_lists.js +0 -0
  166. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/list_lists.js +0 -0
  167. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/map_lists.js +0 -0
  168. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
  169. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
  170. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
  171. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
  172. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
  173. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
  174. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
  175. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/ref_lists.js +0 -0
  176. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/refs_lists.js +0 -0
  177. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
  178. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/xfile_defaults.js +0 -0
  179. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/xfile_lists.js +0 -0
  180. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/deal.py +0 -0
  181. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/demo.py +0 -0
  182. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/env.py +0 -0
  183. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/init.py +0 -0
  184. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/ioc.py +0 -0
  185. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/iocf.py +0 -0
  186. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/join.py +0 -0
  187. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/list.py +0 -0
  188. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/map.py +0 -0
  189. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/mcall.py +0 -0
  190. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/obj.py +0 -0
  191. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/ovar.py +0 -0
  192. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/ref.py +0 -0
  193. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/refs.py +0 -0
  194. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/val.py +0 -0
  195. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/var.py +0 -0
  196. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/ioc_deal/xfile.py +0 -0
  197. {buildz-0.6.52 → buildz-0.6.54}/buildz/ioc/wrap.py +0 -0
  198. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/__init__.py +0 -0
  199. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/base.py +0 -0
  200. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/conf/base.py +0 -0
  201. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/conf/up.py +0 -0
  202. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/conf_deal/ioc.py +0 -0
  203. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/conf_deal/obj.py +0 -0
  204. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/conf_deal/ref.py +0 -0
  205. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/conf_deal/val.py +0 -0
  206. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/__init__.py +0 -0
  207. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/builds.py +0 -0
  208. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/ids.py +0 -0
  209. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/init.py +0 -0
  210. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc/single.py +0 -0
  211. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc_deal/ioc.py +0 -0
  212. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc_deal/ref.py +0 -0
  213. {buildz-0.6.52 → buildz-0.6.54}/buildz/iocz/ioc_deal/val.py +0 -0
  214. {buildz-0.6.52 → buildz-0.6.54}/buildz/logz.py +0 -0
  215. {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/__init__.py +0 -0
  216. {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/mhttp/__init__.py +0 -0
  217. {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/mhttp/caps.py +0 -0
  218. {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/mhttp/mhttp.py +0 -0
  219. {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/mhttp/proxy.py +0 -0
  220. {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/mhttp/record.py +0 -0
  221. {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/sslz/__init__.py +0 -0
  222. {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/sslz/gen.py +0 -0
  223. {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/sslz/gen.pyi +0 -0
  224. {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/test/__main__.py +0 -0
  225. {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/test/test.py +0 -0
  226. {buildz-0.6.52 → buildz-0.6.54}/buildz/netz/test/test_cli.py +0 -0
  227. {buildz-0.6.52 → buildz-0.6.54}/buildz/pathz.py +0 -0
  228. {buildz-0.6.52 → buildz-0.6.54}/buildz/pyz.py +0 -0
  229. {buildz-0.6.52 → buildz-0.6.54}/buildz/tls.py +0 -0
  230. {buildz-0.6.52 → buildz-0.6.54}/buildz/tools.py +0 -0
  231. {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/__init__.py +0 -0
  232. {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/myers_diff.py +0 -0
  233. {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/test_xfind.py +0 -0
  234. {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/time/__init__.py +0 -0
  235. {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/time/timez.py +0 -0
  236. {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/tio/__init__.py +0 -0
  237. {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/tio/base.py +0 -0
  238. {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/tio/getch.py +0 -0
  239. {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/tio/lx.py +0 -0
  240. {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/tio/test.py +0 -0
  241. {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/tio/win.py +0 -0
  242. {buildz-0.6.52 → buildz-0.6.54}/buildz/tz/xfind.py +0 -0
  243. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/__init__.py +0 -0
  244. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/__main__.py +0 -0
  245. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/base.py +0 -0
  246. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/code.py +0 -0
  247. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/code_modify.py +0 -0
  248. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/copy_old.py +0 -0
  249. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/file.py +0 -0
  250. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/base.py +0 -0
  251. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/buffer.py +0 -0
  252. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/deal/listz.py +0 -0
  253. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/deal/lr.py +0 -0
  254. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/deal/lrval.py +0 -0
  255. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/deal/mapz.py +0 -0
  256. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/deal/nextz.py +0 -0
  257. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/deal/reval.py +0 -0
  258. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/deal/setz.py +0 -0
  259. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/deal/spc.py +0 -0
  260. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/deal/spt.py +0 -0
  261. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/deal/strz.py +0 -0
  262. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/exp.py +0 -0
  263. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/item.py +0 -0
  264. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/mg.py +0 -0
  265. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loader/pos.py +0 -0
  266. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/base.py +0 -0
  267. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/buffer.py +0 -0
  268. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/listmapz.py +0 -0
  269. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/listz.py +0 -0
  270. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/lr.py +0 -0
  271. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/lrval.py +0 -0
  272. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/mapz.py +0 -0
  273. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/nextz.py +0 -0
  274. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/reval.py +0 -0
  275. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/setz.py +0 -0
  276. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/spc.py +0 -0
  277. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/spt.py +0 -0
  278. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/strz.py +0 -0
  279. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/strz_new.py +0 -0
  280. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/deal/strz_old.py +0 -0
  281. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/exp.py +0 -0
  282. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/item.py +0 -0
  283. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/mg.py +0 -0
  284. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/pos.py +0 -0
  285. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/test.py +0 -0
  286. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz/test1.py +0 -0
  287. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/base.py +0 -0
  288. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/buffer.py +0 -0
  289. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/listmapz.py +0 -0
  290. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/listz.py +0 -0
  291. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/lr.py +0 -0
  292. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/lrval.py +0 -0
  293. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/mapz.py +0 -0
  294. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/nextz.py +0 -0
  295. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/reval.py +0 -0
  296. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/setz.py +0 -0
  297. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/spc.py +0 -0
  298. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/spt.py +0 -0
  299. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/strz.py +0 -0
  300. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/strz_new.py +0 -0
  301. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/strz_old.py +0 -0
  302. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/exp.py +0 -0
  303. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/item.py +0 -0
  304. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/mg.py +0 -0
  305. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/pos.py +0 -0
  306. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/test.py +0 -0
  307. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/loaderz_nexp/test1.py +0 -0
  308. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/mapz.py +0 -0
  309. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/read.py +0 -0
  310. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/readz.py +0 -0
  311. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/readz_nexp.py +0 -0
  312. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/stack.py +0 -0
  313. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/write.py +0 -0
  314. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writer/base.py +0 -0
  315. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writer/conf.py +0 -0
  316. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writer/deal/jsonval.py +0 -0
  317. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writer/deal/listmapz.py +0 -0
  318. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writer/deal/listz.py +0 -0
  319. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writer/deal/mapz.py +0 -0
  320. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writer/deal/reval.py +0 -0
  321. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writer/deal/strz.py +0 -0
  322. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writer/itemz.py +0 -0
  323. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writer/mg.py +0 -0
  324. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/base.py +0 -0
  325. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/conf.py +0 -0
  326. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/deal/jsonval.py +0 -0
  327. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/deal/listmapz.py +0 -0
  328. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/deal/listz.py +0 -0
  329. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/deal/mapz.py +0 -0
  330. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/deal/reval.py +0 -0
  331. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/deal/strz.py +0 -0
  332. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/itemz.py +0 -0
  333. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/mg.py +0 -0
  334. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/test.py +0 -0
  335. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writerz/testx.py +0 -0
  336. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/writez.py +0 -0
  337. {buildz-0.6.52 → buildz-0.6.54}/buildz/xf/xargs.py +0 -0
  338. {buildz-0.6.52 → buildz-0.6.54}/buildz/xz/__init__.py +0 -0
  339. {buildz-0.6.52 → buildz-0.6.54}/buildz/xz/conf.js +0 -0
  340. {buildz-0.6.52 → buildz-0.6.54}/buildz/xz/data.js +0 -0
  341. {buildz-0.6.52 → buildz-0.6.54}/buildz/xz/test.py +0 -0
  342. {buildz-0.6.52 → buildz-0.6.54}/buildz/xz/trs.py +0 -0
  343. {buildz-0.6.52 → buildz-0.6.54}/buildz.egg-info/dependency_links.txt +0 -0
  344. {buildz-0.6.52 → buildz-0.6.54}/buildz.egg-info/top_level.txt +0 -0
  345. {buildz-0.6.52 → buildz-0.6.54}/notes/notes.txt +0 -0
  346. {buildz-0.6.52 → buildz-0.6.54}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: buildz
3
- Version: 0.6.52
3
+ Version: 0.6.54
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
@@ -0,0 +1,34 @@
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
+ args: [1, [[0,()], [1, ()], {}]]
15
+ args: {
16
+ range: 1
17
+ keep: 1
18
+ list: {
19
+ 0: {
20
+ des: path
21
+ need: 1
22
+ src: 0
23
+ }
24
+ }
25
+ dict: {
26
+ filepath: {
27
+ srcs: [f, fp, filepath]
28
+ }
29
+ content: {
30
+ srcs: [c, ct, content]
31
+ }
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,216 @@
1
+ from .. import Base, xf, dz
2
+ class ArgExp(Exception):
3
+ def __repr__(self):
4
+ return self.__str__()
5
+ def __str__(self):
6
+ return f"stype: {self.stype}, trs: {self.trs}, des: {self.des}"
7
+ def __init__(self, stype, trs, des=None, prev = None):
8
+ super().__init__()
9
+ self.prev = prev
10
+ self.stype = stype
11
+ self.trs = trs
12
+ self.des = des
13
+
14
+ pass
15
+ class ArgType:
16
+ list = 'list'
17
+ dict='dict'
18
+ @staticmethod
19
+ def stand(s):
20
+ if ArgType.islist(s):
21
+ return ArgType.list
22
+ return ArgType.dict
23
+ @staticmethod
24
+ def islist(s):
25
+ return s in ('list','l','lst','args')
26
+ @staticmethod
27
+ def isdict(s):
28
+ return s in ('dict', 'd', 'dct', 'maps')
29
+
30
+ pass
31
+ class Args(Base):
32
+ '''
33
+ 参数映射基础类
34
+ '''
35
+ Type=ArgType
36
+ def call(self, args, maps):
37
+ return args, maps
38
+ def deal_exp(self, exp):
39
+ return exp
40
+
41
+ pass
42
+ class ArrArgs(Args):
43
+ '''
44
+ 参数映射类的队列,顺序处理
45
+ '''
46
+ def str(self):
47
+ return f"ArrArgs(args={self.args})"
48
+ def init(self, args = None):
49
+ if args is None:
50
+ args = []
51
+ self.args = args
52
+ def add(self, item):
53
+ self.args.append(item)
54
+ return self
55
+ def call(self, args, maps):
56
+ i=0
57
+ try:
58
+ for i in range(len(self.args)):
59
+ item = self.args[i]
60
+ args, maps = item(args,maps)
61
+ except ArgExp as exp:
62
+ exp = self.deal_exp(exp, i-1)
63
+ raise exp
64
+ return args, maps
65
+ def deal_exp(self, exp, base=None):
66
+ if base is None:
67
+ base = len(self.args)-1
68
+ for i in range(base, -1, -1):
69
+ exp = self.args[i].deal_exp(exp)
70
+ return exp
71
+ class RangeListArgs(Args):
72
+ '''
73
+ 范围映射
74
+ '''
75
+ def str(self):
76
+ return f"RangeArgs(base={self.base}, last={self.last}, min={self.min})"
77
+ def init(self, base = 0, last = None, min=0):
78
+ self.base = base
79
+ self.last = last
80
+ self.min = min
81
+ def deal_exp(self, exp):
82
+ trs = set()
83
+ for key, vtype in exp.trs:
84
+ if ArgType.islist(vtype):
85
+ trs.add((key+self.base, vtype))
86
+ else:
87
+ trs.add((key, vtype))
88
+ return ArgExp(exp.stype, trs, exp.des, exp)
89
+ def call(self, args, maps):
90
+ if self.last is None:
91
+ args = args[self.base:]
92
+ else:
93
+ args = args[self.base:self.last]
94
+ if len(args)<self.min:
95
+ raise ArgExp("need", set([(self.base, 'list')]))
96
+ return args, maps
97
+
98
+
99
+ class ArgItem(Base):
100
+ '''
101
+ 单个字段映射处理
102
+ '''
103
+ # vtype = 'dict' | 'list'
104
+ def init(self, key, vtype=ArgType.dict, need = False, default = False, default_value = None, des = None,remove=True):
105
+ self.vtype = vtype
106
+ self.key = key
107
+ self.need = need
108
+ self.default = default
109
+ self.default_value = default_value
110
+ self.trs = []
111
+ self.remove = remove
112
+ if des is None:
113
+ des = key
114
+ self.des = des
115
+ def add(self, key, vtype=ArgType.dict):
116
+ self.trs.append((key, vtype))
117
+ return self
118
+ def deal_exp(self, exp):
119
+ trs = set()
120
+ for key, vtype in exp.trs:
121
+ if key == self.key and vtype==self.vtype:
122
+ trs.update(self.trs)
123
+ else:
124
+ trs.add((key, vtype))
125
+ return ArgExp(exp.stype, trs, exp.des, exp)
126
+ def fetch(self, key, vtype, set_args, args, maps):
127
+ find = False
128
+ if ArgType.isdict(vtype):
129
+ val,find = dz.dget(maps, key)
130
+ if find:
131
+ if self.remove:
132
+ dz.dremove(maps, key)
133
+ else:
134
+ if key in set_args:
135
+ val = args[key]
136
+ if self.remove:
137
+ set_args.remove(key)
138
+ find = True
139
+ return val, find
140
+ def call(self, set_args, args, maps, rst_args, rst_maps):
141
+ val = None
142
+ find = False
143
+ for key, vtype in self.trs:
144
+ val, find = self.fetch(key, vtype, set_args, args, maps)
145
+ if find:
146
+ break
147
+ if not find and self.default:
148
+ find = True
149
+ val = self.default_value
150
+ if not find and self.need:
151
+ raise ArgExp("need", set(self.trs), self.des)
152
+ if not find:
153
+ return
154
+ if ArgType.isdict(self.vtype):
155
+ xf.dset(rst_maps, self.key, val)
156
+ else:
157
+ rst_args[self.key] = val
158
+
159
+ pass
160
+ class ListFill:
161
+ '''
162
+ 数组映射后,中间缺失位置如何处理
163
+ exp=报错
164
+ null=填充None
165
+ '''
166
+ exp='exp'
167
+ null = 'null'
168
+ default=exp
169
+ class TrsArgs(Args):
170
+ def str(self):
171
+ return f"TrsArgs(args={len(self.args)}, keep={self.keep}, fill = {self.list_fill})"
172
+ '''
173
+ 数据映射
174
+ '''
175
+ def deal_exp(self, exp):
176
+ for item in self.args:
177
+ exp = item.deal_exp(exp)
178
+ return exp
179
+ def init(self, args=None, keep = True, list_fill = ListFill.default):
180
+ super().init()
181
+ if args is None:
182
+ args = []
183
+ self.args = args
184
+ self.keep = keep
185
+ self.list_fill = list_fill
186
+ def add(self, item):
187
+ self.args.append(item)
188
+ return self
189
+ def call(self, args, maps):
190
+ rst_args, rst_maps = {}, {}
191
+ set_args = set(range(len(args)))
192
+ for item in self.args:
193
+ item(set_args, args, maps, rst_args, rst_maps)
194
+ if self.keep and len(set_args)>0:
195
+ for i in set_args:
196
+ if i not in rst_args:
197
+ rst_args[i] = args[i]
198
+ l_args = 0
199
+ if len(rst_args)>0:
200
+ l_args= max(rst_args.keys())
201
+ out_args = []
202
+ for i in range(l_args+1):
203
+ if i in rst_args:
204
+ out_args.append(rst_args[i])
205
+ else:
206
+ if self.list_fill == ListFill.null:
207
+ out_args.append(None)
208
+ else:
209
+ raise ArgExp("need", set([(i, ArgType.list)]))
210
+ if self.keep:
211
+ for k in maps:
212
+ if k not in rst_maps:
213
+ rst_maps[k] = maps[k]
214
+ return out_args, rst_maps
215
+
216
+ pass
@@ -0,0 +1,118 @@
1
+ from ..iocz.conf import conf
2
+ from .. import Base, xf, dz,pyz
3
+ from .argz import *
4
+ """
5
+ key:{
6
+ src: [a,b,c]
7
+ des: asdf
8
+ need:1
9
+ default: True
10
+ default_value: 123
11
+ remove: 1
12
+ }
13
+ key: [
14
+ src,
15
+ [des, need, remove]
16
+ [default, default_value]
17
+ ]
18
+ """
19
+ class ArgItemConf(conf.Conf):
20
+ def init(self):
21
+ super().init()
22
+ self.index(0, 'src', need=1)
23
+ self.key('src', need=1)
24
+ df = conf.Conf()
25
+ df.index(0, 'default')
26
+ df.index(1, 'default_value')
27
+ self.index(1, df, dict_out=1)
28
+ des = conf.Conf()
29
+ des.index(0, 'des')
30
+ des.index(1,'need')
31
+ des.index(2, 'remove')
32
+ self.index(2, deal=des, dict_out=1)
33
+
34
+ pass
35
+ class ArgSrcConf(conf.Conf):
36
+ def init(self):
37
+ super().init()
38
+ self.index(0, 'key', need=1)
39
+ self.key('key', 'val,value,data'.split(','), need=1)
40
+ self.index(1, 'type')
41
+ self.key('type', 'vtype'.split(","))
42
+ def call(self, data, unit=None):
43
+ data, upd = super().call(data, unit)
44
+ val = data['key']
45
+ if 'type' not in data:
46
+ if type(val)==int:
47
+ vtype = ArgType.list
48
+ else:
49
+ vtype = ArgType.dict
50
+ else:
51
+ vtype = data['type']
52
+ data['type'] = ArgType.stand(vtype)
53
+ return data, upd
54
+
55
+ class TrsArgsBuild(Base):
56
+ def init(self):
57
+ self.conf = ArgItemConf()
58
+ self.src_conf = ArgSrcConf()
59
+ def visits(self, datas, vtype,obj):
60
+ for key, item in dz.dict2iter(datas):
61
+ item,_ = self.conf(item)
62
+ it = ArgItem(key, vtype, *dz.g(item, need=0, default=0, default_value=None,des=None, remove=True))
63
+ srcs = dz.g(item, src=[])
64
+ if not dz.islist(srcs):
65
+ srcs = [srcs]
66
+ for src in srcs:
67
+ src, _ = self.src_conf(src)
68
+ print(f"CONF src: {src}")
69
+ key, vtype = src['key'], src['type']
70
+ it.add(key, vtype)
71
+ obj.add(it)
72
+ def call(self, conf):
73
+ lists = xf.g(conf, list={})
74
+ dicts = xf.g(conf, dict={})
75
+ if len(lists)+len(dicts)==0:
76
+ return None
77
+ keep,list_fill = xf.g(conf, keep=0, fill='exp')
78
+ obj = TrsArgs([], keep, list_fill)
79
+ self.visits(lists, ArgType.list, obj)
80
+ self.visits(dicts, ArgType.dict, obj)
81
+ return obj
82
+
83
+ class FullArgsBuild(Base):
84
+ def init(self):
85
+ self.trs_build = TrsArgsBuild()
86
+ cf = conf.Conf()
87
+ rcf = conf.Conf()
88
+ rcf.index(0, 'base')
89
+ rcf.index(1, 'last')
90
+ rcf.index(2, 'min')
91
+ cf.index(0, 'range', deal=rcf)
92
+ cf.key('range', 'ranges'.split(","), deal=rcf)
93
+ cf.index(1, 'list')
94
+ cf.index(2, 'dict')
95
+ cf.key('list', 'args,lists'.split(","))
96
+ cf.key("dict", 'maps,dicts'.split(","))
97
+ _cf = conf.Conf()
98
+ _cf.index(0, 'keep')
99
+ _cf.index(1, 'fill')
100
+ _cf.key('fill', 'fill_type'.split(','))
101
+ cf.index(3, deal=_cf, dict_out=1)
102
+ self.conf = cf
103
+ def call(self, conf):
104
+ arr_args = ArrArgs()
105
+ conf, upd = self.conf(conf)
106
+ #print(f"BUILD conf: {conf}")
107
+ ranges = dz.g(conf, range=None)
108
+ if ranges is not None:
109
+ base = ranges['base']
110
+ if base is not None:
111
+ last, min = dz.g(ranges, last=None,min=0)
112
+ min = pyz.nnull(min, 0)
113
+ range_args = RangeListArgs(base, last, min)
114
+ arr_args.add(range_args)
115
+ trs_args = self.trs_build(conf)
116
+ if trs_args is not None:
117
+ arr_args.add(trs_args)
118
+ return arr_args
@@ -0,0 +1,29 @@
1
+ #
2
+
3
+ from buildz.argzx import conf_argz as argzx
4
+ from buildz.tls import *
5
+ conf = xf.loads(r"""
6
+ #range=(0,12,3)
7
+ range=(0,12,3)
8
+ args: {
9
+ 0:[0,0]
10
+ }
11
+ maps: {
12
+ a={
13
+ src: [(1,list)]
14
+ }
15
+ }
16
+ """)
17
+ def test():
18
+ args = [0,1,2]
19
+ maps = {'a':'b','c':'d'}
20
+ bd = argzx.FullArgsBuild()
21
+ obj = bd(conf)
22
+ args, maps = obj(args, maps)
23
+ print(f"obj: {obj}")
24
+ print(f"args: {args}, maps: {maps}")
25
+ pass
26
+
27
+ pass
28
+
29
+ pyz.lc(locals(),test)
@@ -132,6 +132,7 @@ class EvalBuilder(Base):
132
132
  {type: val, data: 'test'}
133
133
  ]
134
134
  }
135
+ eq(var(name),val(test))
135
136
  """
136
137
  def init(self, default_type = None):
137
138
  self._default_type = default_type
@@ -5,9 +5,11 @@ class Conf(Base):
5
5
  '''
6
6
  list to dict
7
7
  '''
8
- def init(self):
8
+ def init(self, v2l=True):
9
9
  self.lists = {}
10
10
  self.aliases = {}
11
+ self.ranges = {}
12
+ self.v2l = v2l
11
13
  @staticmethod
12
14
  def default(val):
13
15
  if val is None:
@@ -15,13 +17,33 @@ class Conf(Base):
15
17
  if not dz.islist(val):
16
18
  val = [1, val]
17
19
  return val
18
- def key(self, key, aliases, need=False, remove=True, deal = None, default=None):
20
+ def range(self, key, base, last=None, min = 0, default=None):
21
+ self.ranges[key] = base,last,min,self.default(default)
22
+ def key(self, key, aliases=[], need=False, remove=True, deal = None, default=None):
19
23
  self.aliases[key] = list(aliases), need, remove, deal, self.default(default)
20
24
  def index(self, i, key=None, need=False, deal = None, dict_out = False, default=None):
21
25
  self.lists[i] = key,need,deal, dict_out, self.default(default)
26
+ def range_to_dict(self, rst, conf, unit=None):
27
+ for key, item in self.ranges.items():
28
+ base,last,min,default = item
29
+ if last is None:
30
+ tmp = conf[base:]
31
+ else:
32
+ tmp = conf[base:last]
33
+ if len(tmp)<min:
34
+ if default[0]:
35
+ val = default[1]
36
+ else:
37
+ assert 0,f"require key '{key}' not set in list {conf}"
38
+ else:
39
+ val = tmp
40
+ rst[key] = val
22
41
  def to_dict(self, conf, unit=None):
23
42
  if not dz.islist(conf):
24
- return conf, False
43
+ if not dz.isdict(conf) and self.v2l:
44
+ conf = [conf]
45
+ else:
46
+ return conf, False
25
47
  rst = {}
26
48
  for i,item in self.lists.items():
27
49
  key, need, deal, out_dict, default = item
@@ -39,6 +61,7 @@ class Conf(Base):
39
61
  rst.update(val)
40
62
  else:
41
63
  rst[key] = val
64
+ self.range_to_dict(rst, conf, unit)
42
65
  return rst, 1
43
66
  def update_dict(self, conf, unit=None):
44
67
  upd = False
@@ -10,7 +10,7 @@ class DLKey(GetKey):
10
10
  def Load(conf):
11
11
  keys, kfind = dz.dget(conf, spt("dict.key"))
12
12
  lids, lfind = dz.dget(conf, spt("list.index"))
13
- default = dz.dget(conf, 'default', None)
13
+ default, find = dz.dget(conf, 'default', None)
14
14
  return DLKey(keys, lids, default)
15
15
  def init(self, keys, indexes, default=None):
16
16
  super().init()
@@ -56,7 +56,10 @@ default_conf = None
56
56
  s_default_conf = r"""
57
57
  {
58
58
  id.spt: '.'
59
- env.spt: '.'
59
+ env: {
60
+ spt: '.'
61
+ orders: [local, args, conf, sys]
62
+ }
60
63
  conf:{
61
64
  dict.key = 'id'
62
65
  list.index = [(0,1)]
@@ -68,6 +71,9 @@ s_default_conf = r"""
68
71
  list.index = ((0,0),0)
69
72
  default: null
70
73
  }
74
+ tag: {
75
+ dict.key='tag'
76
+ }
71
77
  }
72
78
  """
73
79
  def init():
@@ -78,11 +84,6 @@ def init():
78
84
  default_conf = dz.flush_maps(default_conf)
79
85
  class ConfManager(Manager):
80
86
  def init(self, conf=None):
81
- ids, deal_key, conf_key, deal_ids, env_ids = self.Conf(conf)
82
- super().init(ids, deal_key, conf_key, deal_ids, env_ids)
83
- self.set_deal('deal', DealDeal())
84
- @staticmethod
85
- def Conf(conf=None):
86
87
  init()
87
88
  spt = Ids(".")
88
89
  if conf is None:
@@ -95,10 +96,13 @@ class ConfManager(Manager):
95
96
  ids = Ids(id_spt)
96
97
  deal_spt, find = dz.dget(conf, spt("id.spt"), id_spt)
97
98
  deal_ids = Ids(deal_spt)
98
- env_spt, find = dz.dget(conf, spt("env.spt"), id_spt)
99
+ env_ids, find = dz.dget(conf, spt("env.spt"), id_spt)
99
100
  deal_key = DLKey.Load(conf['deal'])
100
101
  conf_key = DLKey.Load(conf['conf'])
101
- return ids, deal_key, conf_key, deal_ids, env_spt
102
+ tag_key = DLKey.Load(conf['tag'])
103
+ env_orders, find = dz.dget(conf, spt("env.orders"), None)
104
+ super().init(ids, deal_key, conf_key, tag_key, deal_ids, env_ids, env_orders)
105
+ self.set_deal('deal', DealDeal())
102
106
  def add_conf(self, conf):
103
107
  unit = ConfUnit(conf, self)
104
108
  return unit
@@ -0,0 +1,111 @@
1
+
2
+ #
3
+ from ..ioc.unit import Unit
4
+ from ... import dz,xf
5
+ from ..ioc.datas import Datas
6
+ '''
7
+ id|namespace|ns:
8
+ deal_id|deal_ns:
9
+ env_id|env_ns:
10
+ envs.pub|envs.pri|envs.ns|envs: {
11
+
12
+ }
13
+ confs.pub|confs.pri|confs.ns|confs: [
14
+
15
+ ]
16
+ confs.pub|confs.pri|confs.ns|confs: {
17
+
18
+ }
19
+ builds: [
20
+
21
+ ]
22
+
23
+ or
24
+
25
+ [
26
+ ...
27
+ ]
28
+ '''
29
+ def split2list(s, by=','):
30
+ if s is None:
31
+ return [s]
32
+ if not dz.islist(s):
33
+ s = s.split(by)
34
+ return s
35
+ def join_nnull(by, *args):
36
+ args = [k for k in args if k is not None and k!=""]
37
+ return by.join(args)
38
+
39
+ def joins(prefix, suffix=None, by='.', split=","):
40
+ prefix = split2list(prefix,split)
41
+ suffix = split2list(suffix,split)
42
+ rst = []
43
+ for pfx in prefix:
44
+ for sfx in suffix:
45
+ rst.append(join_nnull(by, pfx, sfx))
46
+ return rst
47
+
48
+
49
+ class ConfUnit(Unit):
50
+ #key_ns = ('id', 'namespace', 'ns')
51
+ key_ns = joins("id,namespace,ns")
52
+ #key_deal_ns = "deal_id,deal_ns,deal_namespace".split(",")
53
+ key_deal_ns = joins("deal", "id,ns,namespace", "_")
54
+ #key_env_ns = "env_id,env_ns,env_namespace,profile_id,profile_ns,profile_namespace".split(",")
55
+ key_env_ns = joins("env,profile", "id,ns,namespace", "_")
56
+ #key_confs_pub = "confs.pub,confs".split(",")
57
+ key_confs_pub = joins("confs,conf", "pub,")
58
+ #key_confs_pri = "confs.pri,confs.prv".split(",")
59
+ key_confs_pri = joins("confs,conf", "pri,prv")
60
+ #key_confs_ns = "confs.ns,confs.namespace".split(",")
61
+ key_confs_ns = joins("confs,conf", "ns,namespace")
62
+ #key_envs_pub = "envs.pub,envs,profiles,profiles.pub".split(",")
63
+ key_envs_pub = joins("envs,env,profiles,profile", "pub,Pub,P,")
64
+ #key_envs_pri = "envs.pri,envs.prv,profiles.pri,profiles.prv".split(",")
65
+ key_envs_pri = joins("envs,env,profiles,profile", "pri,prv,local,p,l")
66
+ #key_envs_ns = "envs.ns,envs.namespace,profiles.ns,profiles.namespace".split(",")
67
+ key_envs_ns = joins("envs,env,profiles,profile", "ns,namespace,n")
68
+ #key_builds = "builds,build".split(",")
69
+ key_builds = joins("builds,build")
70
+ def init(self, conf, mg):
71
+ if type(conf)==str:
72
+ conf = xf.loads(conf)
73
+ if dz.islist(conf):
74
+ conf = {'confs': conf}
75
+ ns = dz.get_one(conf, self.key_ns)
76
+ deal_ns = dz.get_one(conf, self.key_deal_ns)
77
+ env_ns = dz.get_one(conf, self.key_env_ns)
78
+ super().init(ns, deal_ns, env_ns)
79
+ self.tag_key = None
80
+ self.bind(mg)
81
+ self.load(conf)
82
+ def load_confs(self, confs, tag=None):
83
+ rst = []
84
+ if dz.isdict(confs):
85
+ for k,v in confs.items():
86
+ self.conf_key.fill(v, k)
87
+ rst.append(v)
88
+ confs = rst
89
+ for item in confs:
90
+ self.add_conf(item, tag)
91
+ # key,find = self.conf_key(item)
92
+ # if find:
93
+ # self.set_conf(key, item, tag)
94
+ def load_envs(self, envs, tag=None):
95
+ for key, val in envs.items():
96
+ self.set_env(key, val, tag)
97
+ def load(self, conf):
98
+ tags = [Datas.Key.Pub, Datas.Key.Ns, Datas.Key.Pri]
99
+ keys = [self.key_confs_pub, self.key_confs_ns, self.key_confs_pri]
100
+ for key, tag in zip(keys, tags):
101
+ tag_confs = dz.get_one(conf, key, [])
102
+ self.load_confs(tag_confs, tag)
103
+ keys = [self.key_envs_pub, self.key_envs_ns, self.key_envs_pri]
104
+ for key, tag in zip(keys, tags):
105
+ tag_envs = dz.get_one(conf, key, {})
106
+ self.load_envs(tag_envs, tag)
107
+ builds = dz.get_one(conf, self.key_builds, [])
108
+ for item in builds:
109
+ self.add_build(item)
110
+
111
+ pass
@@ -0,0 +1,3 @@
1
+ from ..conf.base import *
2
+ from ..conf.up import *
3
+ from ..ioc_deal.base import *
@@ -0,0 +1,34 @@
1
+
2
+ from .base import *
3
+ from ... import dz,pyz
4
+ class CallEncape(BaseEncape):
5
+ def init(self, unit, cvar, args, maps):
6
+ super().init()
7
+ self.unit = unit
8
+ self.params = call, args, maps
9
+ def call(self, params=None, **_):
10
+ call, args, maps = self.params
11
+ call = self.obj(call)
12
+ if type(call)==str:
13
+ call = self.unit.get(call)
14
+ args = self.elist2obj(args)
15
+ maps = self.edict2obj(maps)
16
+ return call(*args, **maps)
17
+ class CallDeal(BaseDeal):
18
+ def init(self):
19
+ super().init()
20
+ conf = BaseConf()
21
+ conf.index(1, 'call', need=1)
22
+ conf.index(2, 'args')
23
+ conf.index(3, 'maps')
24
+ conf.key('call', need=1)
25
+ self.update = conf
26
+ def deal(self, conf, unit):
27
+ assert 'call' in conf
28
+ call = conf['call']
29
+ call = self.get_encape(call, unit)
30
+ args = self.get_elist(unit, conf, 'args',[])
31
+ maps = self.get_edict(unit, conf, 'maps', {})
32
+ return CallEncape(unit, call, args, maps)
33
+
34
+ pass