buildz 0.6.53__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 (339) hide show
  1. {buildz-0.6.53/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.53 → buildz-0.6.54}/buildz/evalz/evalz.py +1 -0
  7. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf/conf.py +25 -2
  8. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf/unit.py +40 -10
  9. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf_deal/deal.py +2 -2
  10. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf_deal/env.py +1 -1
  11. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/init.py +1 -1
  12. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/datas.py +1 -0
  13. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/envs.py +9 -1
  14. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/tdata.py +18 -0
  15. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/vars.py +1 -0
  16. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/test/test.py +5 -1
  17. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/wrap/base.py +2 -1
  18. buildz-0.6.54/buildz/iocz/wrap/default_wraps.py +14 -0
  19. buildz-0.6.54/buildz/iocz/wrap/env.py +6 -0
  20. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/wrap/wraps.py +9 -0
  21. {buildz-0.6.53 → buildz-0.6.54/buildz.egg-info}/PKG-INFO +1 -1
  22. {buildz-0.6.53 → buildz-0.6.54}/buildz.egg-info/SOURCES.txt +4 -0
  23. {buildz-0.6.53 → buildz-0.6.54}/setup.py +1 -1
  24. buildz-0.6.53/buildz/argz/tests/conf.js +0 -31
  25. buildz-0.6.53/buildz/iocz/wrap/default_wraps.py +0 -9
  26. {buildz-0.6.53 → buildz-0.6.54}/LICENSE +0 -0
  27. {buildz-0.6.53 → buildz-0.6.54}/MANIFEST.in +0 -0
  28. {buildz-0.6.53 → buildz-0.6.54}/README.md +0 -0
  29. {buildz-0.6.53 → buildz-0.6.54}/buildz/__init__.py +0 -0
  30. {buildz-0.6.53 → buildz-0.6.54}/buildz/__main__.py +0 -0
  31. {buildz-0.6.53 → buildz-0.6.54}/buildz/argx.py +0 -0
  32. {buildz-0.6.53 → buildz-0.6.54}/buildz/argz/__init__.py +0 -0
  33. {buildz-0.6.53 → buildz-0.6.54}/buildz/argz/argz.py +0 -0
  34. {buildz-0.6.53 → buildz-0.6.54}/buildz/argz/build.py +0 -0
  35. {buildz-0.6.53 → buildz-0.6.54}/buildz/argz/callz.py +0 -0
  36. {buildz-0.6.53 → buildz-0.6.54}/buildz/argz/evalx.py +0 -0
  37. {buildz-0.6.53 → buildz-0.6.54}/buildz/argz/test.py +0 -0
  38. {buildz-0.6.53 → buildz-0.6.54}/buildz/argz/test_obj.py +0 -0
  39. {buildz-0.6.53 → buildz-0.6.54}/buildz/argz/testx.py +0 -0
  40. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/__init__.py +0 -0
  41. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/cache.py +0 -0
  42. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/config.py +0 -0
  43. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/dbs.py +0 -0
  44. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/deal.py +0 -0
  45. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/deal_list.py +0 -0
  46. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/deal_type.py +0 -0
  47. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/defs.py +0 -0
  48. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/factory.py +0 -0
  49. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/init.py +0 -0
  50. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/log.py +0 -0
  51. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/request.py +0 -0
  52. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/run.py +0 -0
  53. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/save.py +0 -0
  54. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/test/res/cache/cache.js +0 -0
  55. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/test/res/config/base.js +0 -0
  56. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/test/res/config/config.js +0 -0
  57. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/test/res/data/fp.js +0 -0
  58. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/test/res/data/item1.js +0 -0
  59. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/test/res/data/item2.js +0 -0
  60. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/test/res/data/test.js +0 -0
  61. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/test/test.py +0 -0
  62. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/test/xtest.py +0 -0
  63. {buildz-0.6.53 → buildz-0.6.54}/buildz/auto/verify.py +0 -0
  64. {buildz-0.6.53 → buildz-0.6.54}/buildz/base.py +0 -0
  65. {buildz-0.6.53 → buildz-0.6.54}/buildz/cachez/__init__.py +0 -0
  66. {buildz-0.6.53 → buildz-0.6.54}/buildz/cachez/cache.py +0 -0
  67. {buildz-0.6.53 → buildz-0.6.54}/buildz/cmd.py +0 -0
  68. {buildz-0.6.53 → buildz-0.6.54}/buildz/confz.py +0 -0
  69. {buildz-0.6.53 → buildz-0.6.54}/buildz/db/__init__.py +0 -0
  70. {buildz-0.6.53 → buildz-0.6.54}/buildz/db/__main__.py +0 -0
  71. {buildz-0.6.53 → buildz-0.6.54}/buildz/db/dv/__init__.py +0 -0
  72. {buildz-0.6.53 → buildz-0.6.54}/buildz/db/dv/basez.py +0 -0
  73. {buildz-0.6.53 → buildz-0.6.54}/buildz/db/dv/clickhousez.py +0 -0
  74. {buildz-0.6.53 → buildz-0.6.54}/buildz/db/dv/lib/readme +0 -0
  75. {buildz-0.6.53 → buildz-0.6.54}/buildz/db/dv/mysqlz.py +0 -0
  76. {buildz-0.6.53 → buildz-0.6.54}/buildz/db/dv/oraclez.py +0 -0
  77. {buildz-0.6.53 → buildz-0.6.54}/buildz/db/dv/orm.py +0 -0
  78. {buildz-0.6.53 → buildz-0.6.54}/buildz/db/dv/postgresqlz.py +0 -0
  79. {buildz-0.6.53 → buildz-0.6.54}/buildz/db/dv/sqlite3z.py +0 -0
  80. {buildz-0.6.53 → buildz-0.6.54}/buildz/db/dv/structz.py +0 -0
  81. {buildz-0.6.53 → buildz-0.6.54}/buildz/db/install.txt +0 -0
  82. {buildz-0.6.53 → buildz-0.6.54}/buildz/db/run.conf +0 -0
  83. {buildz-0.6.53 → buildz-0.6.54}/buildz/db/runz.py +0 -0
  84. {buildz-0.6.53 → buildz-0.6.54}/buildz/db/tls.py +0 -0
  85. {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/ioc/deal.py +0 -0
  86. {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/ioc/help.py +0 -0
  87. {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/myers/deal.py +0 -0
  88. {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/myers/help.py +0 -0
  89. {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/conf/ioc.js +0 -0
  90. {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/conf/main.js +0 -0
  91. {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/conf/myers.js +0 -0
  92. {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/conf/search.js +0 -0
  93. {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/conf/xf.js +0 -0
  94. {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/help/default.js +0 -0
  95. {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/help/ioc.js +0 -0
  96. {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/help/myers.js +0 -0
  97. {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/help/search.js +0 -0
  98. {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/help/xf.js +0 -0
  99. {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/res/test.js +0 -0
  100. {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/search/deal.py +0 -0
  101. {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/search/help.py +0 -0
  102. {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/test.py +0 -0
  103. {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/xf/deal.py +0 -0
  104. {buildz-0.6.53 → buildz-0.6.54}/buildz/demo/xf/help.py +0 -0
  105. {buildz-0.6.53 → buildz-0.6.54}/buildz/dz/__init__.py +0 -0
  106. {buildz-0.6.53 → buildz-0.6.54}/buildz/dz/mapz.py +0 -0
  107. {buildz-0.6.53 → buildz-0.6.54}/buildz/evalz/__init__.py +0 -0
  108. {buildz-0.6.53 → buildz-0.6.54}/buildz/evalz/res/default.js +0 -0
  109. {buildz-0.6.53 → buildz-0.6.54}/buildz/evalz/test.py +0 -0
  110. {buildz-0.6.53 → buildz-0.6.54}/buildz/fz/__init__.py +0 -0
  111. {buildz-0.6.53 → buildz-0.6.54}/buildz/fz/dirz.py +0 -0
  112. {buildz-0.6.53 → buildz-0.6.54}/buildz/fz/fhs.py +0 -0
  113. {buildz-0.6.53 → buildz-0.6.54}/buildz/fz/fio.py +0 -0
  114. {buildz-0.6.53 → buildz-0.6.54}/buildz/fz/lsf.py +0 -0
  115. {buildz-0.6.53 → buildz-0.6.54}/buildz/html/__init__.py +0 -0
  116. {buildz-0.6.53 → buildz-0.6.54}/buildz/html/test/demo.html +0 -0
  117. {buildz-0.6.53 → buildz-0.6.54}/buildz/html/test/test.py +0 -0
  118. {buildz-0.6.53 → buildz-0.6.54}/buildz/html/xml.py +0 -0
  119. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/__init__.py +0 -0
  120. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/base.py +0 -0
  121. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/init.py +0 -0
  122. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc/base.py +0 -0
  123. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc/conf.py +0 -0
  124. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc/confs.py +0 -0
  125. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc/decorator.py +0 -0
  126. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc/loads.py +0 -0
  127. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc/single.py +0 -0
  128. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/base.py +0 -0
  129. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/branch.py +0 -0
  130. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/call.py +0 -0
  131. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/calls.py +0 -0
  132. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/branch_lists.js +0 -0
  133. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
  134. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
  135. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
  136. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/calls_lists.js +0 -0
  137. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/deal_lists.js +0 -0
  138. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/deals.js +0 -0
  139. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
  140. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/ioc_lists.js +0 -0
  141. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/iocf_lists.js +0 -0
  142. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/join_lists.js +0 -0
  143. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/list_lists.js +0 -0
  144. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/map_lists.js +0 -0
  145. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
  146. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
  147. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
  148. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
  149. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
  150. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
  151. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
  152. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/ref_lists.js +0 -0
  153. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/refs_lists.js +0 -0
  154. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
  155. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/xfile_defaults.js +0 -0
  156. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/conf/xfile_lists.js +0 -0
  157. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/deal.py +0 -0
  158. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/demo.py +0 -0
  159. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/env.py +0 -0
  160. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/init.py +0 -0
  161. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/ioc.py +0 -0
  162. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/iocf.py +0 -0
  163. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/join.py +0 -0
  164. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/list.py +0 -0
  165. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/map.py +0 -0
  166. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/mcall.py +0 -0
  167. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/obj.py +0 -0
  168. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/ovar.py +0 -0
  169. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/ref.py +0 -0
  170. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/refs.py +0 -0
  171. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/val.py +0 -0
  172. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/var.py +0 -0
  173. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/ioc_deal/xfile.py +0 -0
  174. {buildz-0.6.53 → buildz-0.6.54}/buildz/ioc/wrap.py +0 -0
  175. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/__init__.py +0 -0
  176. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/base.py +0 -0
  177. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf/base.py +0 -0
  178. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf/mg.py +0 -0
  179. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf/up.py +0 -0
  180. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf_deal/base.py +0 -0
  181. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf_deal/call.py +0 -0
  182. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf_deal/cvar.py +0 -0
  183. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf_deal/ioc.py +0 -0
  184. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf_deal/obj.py +0 -0
  185. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf_deal/ref.py +0 -0
  186. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/conf_deal/val.py +0 -0
  187. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/__init__.py +0 -0
  188. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/base.py +0 -0
  189. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/builds.py +0 -0
  190. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/confs.py +0 -0
  191. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/dataset.py +0 -0
  192. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/encapes.py +0 -0
  193. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/ids.py +0 -0
  194. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/init.py +0 -0
  195. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/mg.py +0 -0
  196. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/single.py +0 -0
  197. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/sys_envs.py +0 -0
  198. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/tdict.py +0 -0
  199. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc/unit.py +0 -0
  200. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc_deal/base.py +0 -0
  201. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc_deal/deal.py +0 -0
  202. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc_deal/ioc.py +0 -0
  203. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc_deal/obj.py +0 -0
  204. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc_deal/ref.py +0 -0
  205. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/ioc_deal/val.py +0 -0
  206. {buildz-0.6.53 → buildz-0.6.54}/buildz/iocz/wrap/obj.py +0 -0
  207. {buildz-0.6.53 → buildz-0.6.54}/buildz/logz.py +0 -0
  208. {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/__init__.py +0 -0
  209. {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/mhttp/__init__.py +0 -0
  210. {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/mhttp/caps.py +0 -0
  211. {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/mhttp/mhttp.py +0 -0
  212. {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/mhttp/proxy.py +0 -0
  213. {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/mhttp/record.py +0 -0
  214. {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/sslz/__init__.py +0 -0
  215. {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/sslz/gen.py +0 -0
  216. {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/sslz/gen.pyi +0 -0
  217. {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/test/__main__.py +0 -0
  218. {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/test/test.py +0 -0
  219. {buildz-0.6.53 → buildz-0.6.54}/buildz/netz/test/test_cli.py +0 -0
  220. {buildz-0.6.53 → buildz-0.6.54}/buildz/pathz.py +0 -0
  221. {buildz-0.6.53 → buildz-0.6.54}/buildz/pyz.py +0 -0
  222. {buildz-0.6.53 → buildz-0.6.54}/buildz/tls.py +0 -0
  223. {buildz-0.6.53 → buildz-0.6.54}/buildz/tools.py +0 -0
  224. {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/__init__.py +0 -0
  225. {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/myers_diff.py +0 -0
  226. {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/test_xfind.py +0 -0
  227. {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/time/__init__.py +0 -0
  228. {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/time/timez.py +0 -0
  229. {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/tio/__init__.py +0 -0
  230. {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/tio/base.py +0 -0
  231. {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/tio/getch.py +0 -0
  232. {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/tio/lx.py +0 -0
  233. {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/tio/test.py +0 -0
  234. {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/tio/win.py +0 -0
  235. {buildz-0.6.53 → buildz-0.6.54}/buildz/tz/xfind.py +0 -0
  236. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/__init__.py +0 -0
  237. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/__main__.py +0 -0
  238. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/base.py +0 -0
  239. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/code.py +0 -0
  240. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/code_modify.py +0 -0
  241. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/copy_old.py +0 -0
  242. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/file.py +0 -0
  243. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/base.py +0 -0
  244. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/buffer.py +0 -0
  245. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/deal/listz.py +0 -0
  246. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/deal/lr.py +0 -0
  247. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/deal/lrval.py +0 -0
  248. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/deal/mapz.py +0 -0
  249. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/deal/nextz.py +0 -0
  250. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/deal/reval.py +0 -0
  251. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/deal/setz.py +0 -0
  252. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/deal/spc.py +0 -0
  253. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/deal/spt.py +0 -0
  254. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/deal/strz.py +0 -0
  255. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/exp.py +0 -0
  256. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/item.py +0 -0
  257. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/mg.py +0 -0
  258. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loader/pos.py +0 -0
  259. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/base.py +0 -0
  260. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/buffer.py +0 -0
  261. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/listmapz.py +0 -0
  262. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/listz.py +0 -0
  263. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/lr.py +0 -0
  264. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/lrval.py +0 -0
  265. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/mapz.py +0 -0
  266. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/nextz.py +0 -0
  267. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/reval.py +0 -0
  268. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/setz.py +0 -0
  269. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/spc.py +0 -0
  270. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/spt.py +0 -0
  271. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/strz.py +0 -0
  272. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/strz_new.py +0 -0
  273. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/deal/strz_old.py +0 -0
  274. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/exp.py +0 -0
  275. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/item.py +0 -0
  276. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/mg.py +0 -0
  277. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/pos.py +0 -0
  278. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/test.py +0 -0
  279. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz/test1.py +0 -0
  280. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/base.py +0 -0
  281. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/buffer.py +0 -0
  282. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/listmapz.py +0 -0
  283. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/listz.py +0 -0
  284. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/lr.py +0 -0
  285. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/lrval.py +0 -0
  286. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/mapz.py +0 -0
  287. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/nextz.py +0 -0
  288. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/reval.py +0 -0
  289. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/setz.py +0 -0
  290. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/spc.py +0 -0
  291. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/spt.py +0 -0
  292. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/strz.py +0 -0
  293. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/strz_new.py +0 -0
  294. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/deal/strz_old.py +0 -0
  295. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/exp.py +0 -0
  296. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/item.py +0 -0
  297. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/mg.py +0 -0
  298. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/pos.py +0 -0
  299. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/test.py +0 -0
  300. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/loaderz_nexp/test1.py +0 -0
  301. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/mapz.py +0 -0
  302. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/read.py +0 -0
  303. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/readz.py +0 -0
  304. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/readz_nexp.py +0 -0
  305. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/stack.py +0 -0
  306. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/write.py +0 -0
  307. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writer/base.py +0 -0
  308. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writer/conf.py +0 -0
  309. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writer/deal/jsonval.py +0 -0
  310. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writer/deal/listmapz.py +0 -0
  311. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writer/deal/listz.py +0 -0
  312. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writer/deal/mapz.py +0 -0
  313. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writer/deal/reval.py +0 -0
  314. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writer/deal/strz.py +0 -0
  315. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writer/itemz.py +0 -0
  316. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writer/mg.py +0 -0
  317. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/base.py +0 -0
  318. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/conf.py +0 -0
  319. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/deal/jsonval.py +0 -0
  320. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/deal/listmapz.py +0 -0
  321. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/deal/listz.py +0 -0
  322. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/deal/mapz.py +0 -0
  323. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/deal/reval.py +0 -0
  324. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/deal/strz.py +0 -0
  325. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/itemz.py +0 -0
  326. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/mg.py +0 -0
  327. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/test.py +0 -0
  328. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writerz/testx.py +0 -0
  329. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/writez.py +0 -0
  330. {buildz-0.6.53 → buildz-0.6.54}/buildz/xf/xargs.py +0 -0
  331. {buildz-0.6.53 → buildz-0.6.54}/buildz/xz/__init__.py +0 -0
  332. {buildz-0.6.53 → buildz-0.6.54}/buildz/xz/conf.js +0 -0
  333. {buildz-0.6.53 → buildz-0.6.54}/buildz/xz/data.js +0 -0
  334. {buildz-0.6.53 → buildz-0.6.54}/buildz/xz/test.py +0 -0
  335. {buildz-0.6.53 → buildz-0.6.54}/buildz/xz/trs.py +0 -0
  336. {buildz-0.6.53 → buildz-0.6.54}/buildz.egg-info/dependency_links.txt +0 -0
  337. {buildz-0.6.53 → buildz-0.6.54}/buildz.egg-info/top_level.txt +0 -0
  338. {buildz-0.6.53 → buildz-0.6.54}/notes/notes.txt +0 -0
  339. {buildz-0.6.53 → 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.53
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
20
+ def range(self, key, base, last=None, min = 0, default=None):
21
+ self.ranges[key] = base,last,min,self.default(default)
18
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
@@ -26,17 +26,47 @@ or
26
26
  ...
27
27
  ]
28
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
+
29
49
  class ConfUnit(Unit):
30
- key_ns = ('id', 'namespace', 'ns')
31
- key_deal_ns = "deal_id,deal_ns,deal_namespace".split(",")
32
- key_env_ns = "env_id,env_ns,env_namespace".split(",")
33
- key_confs_pub = "confs.pub,confs".split(",")
34
- key_confs_pri = "confs.pri,confs.prv".split(",")
35
- key_confs_ns = "confs.ns,confs.namespace".split(",")
36
- key_envs_pub = "envs.pub,envs".split(",")
37
- key_envs_pri = "envs.pri,envs.prv".split(",")
38
- key_envs_ns = "envs.ns,envs.namespace".split(",")
39
- key_builds = "builds,build".split(",")
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")
40
70
  def init(self, conf, mg):
41
71
  if type(conf)==str:
42
72
  conf = xf.loads(conf)
@@ -6,8 +6,8 @@ class DealDeal(deal.DealDeal):
6
6
  super().init()
7
7
  conf = BaseConf()
8
8
  conf.index(1, 'source', need=1)
9
- conf.index(2, 'tag')
10
- conf.index(3, 'call')
9
+ conf.index(2, 'call')
10
+ conf.index(3, 'tag')
11
11
  conf.key('source', 'src'.split(","), need=1)
12
12
  self.update = conf
13
13
 
@@ -22,7 +22,7 @@ class EnvDeal(BaseDeal):
22
22
  conf = BaseConf()
23
23
  conf.index(1, 'env', need=1)
24
24
  conf.index(2, 'default')
25
- conf.key('env', "data,key".split(","), need=1)
25
+ conf.key('env', "data,key,profile,conf".split(","), need=1)
26
26
  self.update = conf
27
27
  def deal(self, conf, unit):
28
28
  assert 'env' in conf
@@ -44,7 +44,7 @@ confs.pri: {
44
44
  deal_env: {
45
45
  type=deal
46
46
  src: <buildz>.iocz.conf_deal.env.EnvDeal
47
- deals: env
47
+ deals: (env, profile,conf)
48
48
  call=1
49
49
  }
50
50
  }
@@ -18,6 +18,7 @@ class Datas(TagData):
18
18
  self.set(key, val, tag)
19
19
  def set(self, key, val, tag=None):
20
20
  tag = pyz.nnull(tag, self.default)
21
+ tag = TagData.Key.stand(tag)
21
22
  super().set(key, val, tag)
22
23
  if self.dts is not None and tag in (TagData.Key.Pub, TagData.Key.Ns):
23
24
  self.dts.set(key, val, self.ns, tag, self)
@@ -6,6 +6,7 @@ class Envs(Datas):
6
6
  def init(self, ns=None, id=None, dts=None):
7
7
  super().init(ns, id, dts)
8
8
  self.ids = None
9
+ self.caches = {}
9
10
  def update(self, maps, tag=None, flush=False):
10
11
  if flush:
11
12
  maps = dz.unflush_maps(maps, self.ids.id)
@@ -14,7 +15,14 @@ class Envs(Datas):
14
15
  def bind(self, dts):
15
16
  self.ids = dts.ids
16
17
  super().bind(dts)
18
+ for k,v in self.caches.items():
19
+ val,tag=v
20
+ self.set(k,val,tag)
21
+ self.caches = {}
17
22
  def set(self, key, val, tag=None):
18
- super().set(self.ids(key), val, tag)
23
+ if self.ids is not None:
24
+ super().set(self.ids(key), val, tag)
25
+ else:
26
+ self.caches[key] = val,tag
19
27
  def get(self, key, tags=None):
20
28
  return super().get(self.ids(key), tags)
@@ -8,6 +8,24 @@ class Key:
8
8
  tags_ns = [Ns,Pub]
9
9
  tags_pub = [Pub]
10
10
  tags_pri = None
11
+ @staticmethod
12
+ def is_pub(s):
13
+ return s in ("pub", "public")
14
+ @staticmethod
15
+ def is_pri(s):
16
+ return s in ("pri", "prv", "private")
17
+ @staticmethod
18
+ def is_ns(s):
19
+ return s in ("ns", "namespace")
20
+ @staticmethod
21
+ def stand(s):
22
+ if Key.is_pub(s):
23
+ return Key.Pub
24
+ elif Key.is_ns(s):
25
+ return Key.Ns
26
+ elif Key.is_pri(s):
27
+ return Key.Pri
28
+ return None
11
29
  pass
12
30
  class UnitBase(Base):
13
31
  def init(self, ns=None, id=None):
@@ -15,6 +15,7 @@ class Varset(Dataset):
15
15
  def tag(self, _tag):
16
16
  if _tag is None:
17
17
  _tag = TagData.Key.Pub
18
+ _tag = TagData.Key.stand(_tag)
18
19
  return _tag
19
20
  def init(self, ids):
20
21
  super().init(ids)
@@ -1,10 +1,13 @@
1
1
  #
2
2
 
3
3
  from buildz import iocz,xf, pyz, Base
4
+ profiles = xf.loads(r"""
5
+ PYTHON_PATH=test
6
+ """)
4
7
  wraps = iocz.build_wraps()
5
8
  ns = wraps('test').wrap
6
9
  @ns.obj(id='test')
7
- @ns.obj.args("env,PATH")
10
+ @ns.obj.args("env,PYTHON_PATH")
8
11
  class Test(Base):
9
12
  def str(self):
10
13
  return f'Test(<{id(self)}>|id={self.id})'
@@ -15,6 +18,7 @@ class Test(Base):
15
18
  print("Test.show:", self)
16
19
 
17
20
  pass
21
+ ns.load_profiles(profiles)
18
22
  #ns.obj.args("env,PATH")(Test)
19
23
  #ns.obj(id='test')(Test)
20
24
  var = 'test_var'
@@ -32,7 +32,8 @@ class WrapBase(Base):
32
32
  def init(self, unit=None):
33
33
  self.wrap_conf = {}
34
34
  self.confs = []
35
- self.unit = unit
35
+ self.unit = None
36
+ self.bind(unit)
36
37
  def clone(self, unit):
37
38
  return self.__class__(unit)
38
39
  def bind(self, unit):
@@ -0,0 +1,14 @@
1
+ #
2
+
3
+ from . import obj
4
+ from . import env
5
+ def build(wraps):
6
+ wraps.set_fc("obj", obj.ObjectWrap())
7
+ fc = env.EnvWrap()
8
+ wraps.set_fc("env", fc)
9
+ wraps.set_fc("load_envs", fc)
10
+ wraps.set_fc("profile", fc)
11
+ wraps.set_fc("load_profiles", fc)
12
+ return wraps
13
+
14
+ pass