buildz 0.6.49__tar.gz → 0.6.51__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 (320) hide show
  1. {buildz-0.6.49/buildz.egg-info → buildz-0.6.51}/PKG-INFO +1 -1
  2. {buildz-0.6.49 → buildz-0.6.51}/buildz/dz/mapz.py +17 -14
  3. buildz-0.6.51/buildz/iocz/conf/base.py +3 -0
  4. buildz-0.6.51/buildz/iocz/conf/mg.py +102 -0
  5. buildz-0.6.51/buildz/iocz/conf/test.py +51 -0
  6. buildz-0.6.51/buildz/iocz/conf/unit.py +66 -0
  7. buildz-0.6.51/buildz/iocz/ioc/base.py +37 -0
  8. {buildz-0.6.49 → buildz-0.6.51}/buildz/iocz/ioc/builds.py +4 -3
  9. {buildz-0.6.49 → buildz-0.6.51}/buildz/iocz/ioc/dataset.py +9 -6
  10. {buildz-0.6.49 → buildz-0.6.51}/buildz/iocz/ioc/encapes.py +9 -9
  11. {buildz-0.6.49 → buildz-0.6.51}/buildz/iocz/ioc/mg.py +33 -12
  12. buildz-0.6.51/buildz/iocz/ioc/test.py +45 -0
  13. {buildz-0.6.49 → buildz-0.6.51}/buildz/iocz/ioc/unit.py +12 -1
  14. buildz-0.6.51/buildz/iocz/ioc/vars.py +65 -0
  15. {buildz-0.6.49 → buildz-0.6.51}/buildz/iocz/ioc_deal/base.py +17 -19
  16. buildz-0.6.51/buildz/iocz/ioc_deal/deal.py +33 -0
  17. {buildz-0.6.49 → buildz-0.6.51}/buildz/iocz/ioc_deal/obj.py +3 -7
  18. buildz-0.6.51/buildz/tls.py +2 -0
  19. {buildz-0.6.49 → buildz-0.6.51/buildz.egg-info}/PKG-INFO +1 -1
  20. {buildz-0.6.49 → buildz-0.6.51}/buildz.egg-info/SOURCES.txt +6 -0
  21. {buildz-0.6.49 → buildz-0.6.51}/setup.py +1 -1
  22. buildz-0.6.49/buildz/iocz/ioc/base.py +0 -18
  23. buildz-0.6.49/buildz/iocz/ioc/test.py +0 -37
  24. buildz-0.6.49/buildz/iocz/ioc_deal/deal.py +0 -69
  25. {buildz-0.6.49 → buildz-0.6.51}/LICENSE +0 -0
  26. {buildz-0.6.49 → buildz-0.6.51}/MANIFEST.in +0 -0
  27. {buildz-0.6.49 → buildz-0.6.51}/README.md +0 -0
  28. {buildz-0.6.49 → buildz-0.6.51}/buildz/__init__.py +0 -0
  29. {buildz-0.6.49 → buildz-0.6.51}/buildz/__main__.py +0 -0
  30. {buildz-0.6.49 → buildz-0.6.51}/buildz/argx.py +0 -0
  31. {buildz-0.6.49 → buildz-0.6.51}/buildz/argz/__init__.py +0 -0
  32. {buildz-0.6.49 → buildz-0.6.51}/buildz/argz/argz.py +0 -0
  33. {buildz-0.6.49 → buildz-0.6.51}/buildz/argz/build.py +0 -0
  34. {buildz-0.6.49 → buildz-0.6.51}/buildz/argz/callz.py +0 -0
  35. {buildz-0.6.49 → buildz-0.6.51}/buildz/argz/evalx.py +0 -0
  36. {buildz-0.6.49 → buildz-0.6.51}/buildz/argz/test.py +0 -0
  37. {buildz-0.6.49 → buildz-0.6.51}/buildz/argz/test_obj.py +0 -0
  38. {buildz-0.6.49 → buildz-0.6.51}/buildz/argz/tests/conf.js +0 -0
  39. {buildz-0.6.49 → buildz-0.6.51}/buildz/argz/testx.py +0 -0
  40. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/__init__.py +0 -0
  41. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/cache.py +0 -0
  42. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/config.py +0 -0
  43. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/dbs.py +0 -0
  44. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/deal.py +0 -0
  45. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/deal_list.py +0 -0
  46. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/deal_type.py +0 -0
  47. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/defs.py +0 -0
  48. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/factory.py +0 -0
  49. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/init.py +0 -0
  50. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/log.py +0 -0
  51. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/request.py +0 -0
  52. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/run.py +0 -0
  53. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/save.py +0 -0
  54. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/test/res/cache/cache.js +0 -0
  55. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/test/res/config/base.js +0 -0
  56. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/test/res/config/config.js +0 -0
  57. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/test/res/data/fp.js +0 -0
  58. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/test/res/data/item1.js +0 -0
  59. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/test/res/data/item2.js +0 -0
  60. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/test/res/data/test.js +0 -0
  61. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/test/test.py +0 -0
  62. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/test/xtest.py +0 -0
  63. {buildz-0.6.49 → buildz-0.6.51}/buildz/auto/verify.py +0 -0
  64. {buildz-0.6.49 → buildz-0.6.51}/buildz/base.py +0 -0
  65. {buildz-0.6.49 → buildz-0.6.51}/buildz/cachez/__init__.py +0 -0
  66. {buildz-0.6.49 → buildz-0.6.51}/buildz/cachez/cache.py +0 -0
  67. {buildz-0.6.49 → buildz-0.6.51}/buildz/cmd.py +0 -0
  68. {buildz-0.6.49 → buildz-0.6.51}/buildz/confz.py +0 -0
  69. {buildz-0.6.49 → buildz-0.6.51}/buildz/db/__init__.py +0 -0
  70. {buildz-0.6.49 → buildz-0.6.51}/buildz/db/__main__.py +0 -0
  71. {buildz-0.6.49 → buildz-0.6.51}/buildz/db/dv/__init__.py +0 -0
  72. {buildz-0.6.49 → buildz-0.6.51}/buildz/db/dv/basez.py +0 -0
  73. {buildz-0.6.49 → buildz-0.6.51}/buildz/db/dv/clickhousez.py +0 -0
  74. {buildz-0.6.49 → buildz-0.6.51}/buildz/db/dv/lib/readme +0 -0
  75. {buildz-0.6.49 → buildz-0.6.51}/buildz/db/dv/mysqlz.py +0 -0
  76. {buildz-0.6.49 → buildz-0.6.51}/buildz/db/dv/oraclez.py +0 -0
  77. {buildz-0.6.49 → buildz-0.6.51}/buildz/db/dv/orm.py +0 -0
  78. {buildz-0.6.49 → buildz-0.6.51}/buildz/db/dv/postgresqlz.py +0 -0
  79. {buildz-0.6.49 → buildz-0.6.51}/buildz/db/dv/sqlite3z.py +0 -0
  80. {buildz-0.6.49 → buildz-0.6.51}/buildz/db/dv/structz.py +0 -0
  81. {buildz-0.6.49 → buildz-0.6.51}/buildz/db/install.txt +0 -0
  82. {buildz-0.6.49 → buildz-0.6.51}/buildz/db/run.conf +0 -0
  83. {buildz-0.6.49 → buildz-0.6.51}/buildz/db/runz.py +0 -0
  84. {buildz-0.6.49 → buildz-0.6.51}/buildz/db/tls.py +0 -0
  85. {buildz-0.6.49 → buildz-0.6.51}/buildz/demo/ioc/deal.py +0 -0
  86. {buildz-0.6.49 → buildz-0.6.51}/buildz/demo/ioc/help.py +0 -0
  87. {buildz-0.6.49 → buildz-0.6.51}/buildz/demo/myers/deal.py +0 -0
  88. {buildz-0.6.49 → buildz-0.6.51}/buildz/demo/myers/help.py +0 -0
  89. {buildz-0.6.49 → buildz-0.6.51}/buildz/demo/res/conf/ioc.js +0 -0
  90. {buildz-0.6.49 → buildz-0.6.51}/buildz/demo/res/conf/main.js +0 -0
  91. {buildz-0.6.49 → buildz-0.6.51}/buildz/demo/res/conf/myers.js +0 -0
  92. {buildz-0.6.49 → buildz-0.6.51}/buildz/demo/res/conf/search.js +0 -0
  93. {buildz-0.6.49 → buildz-0.6.51}/buildz/demo/res/conf/xf.js +0 -0
  94. {buildz-0.6.49 → buildz-0.6.51}/buildz/demo/res/help/default.js +0 -0
  95. {buildz-0.6.49 → buildz-0.6.51}/buildz/demo/res/help/ioc.js +0 -0
  96. {buildz-0.6.49 → buildz-0.6.51}/buildz/demo/res/help/myers.js +0 -0
  97. {buildz-0.6.49 → buildz-0.6.51}/buildz/demo/res/help/search.js +0 -0
  98. {buildz-0.6.49 → buildz-0.6.51}/buildz/demo/res/help/xf.js +0 -0
  99. {buildz-0.6.49 → buildz-0.6.51}/buildz/demo/res/test.js +0 -0
  100. {buildz-0.6.49 → buildz-0.6.51}/buildz/demo/search/deal.py +0 -0
  101. {buildz-0.6.49 → buildz-0.6.51}/buildz/demo/search/help.py +0 -0
  102. {buildz-0.6.49 → buildz-0.6.51}/buildz/demo/test.py +0 -0
  103. {buildz-0.6.49 → buildz-0.6.51}/buildz/demo/xf/deal.py +0 -0
  104. {buildz-0.6.49 → buildz-0.6.51}/buildz/demo/xf/help.py +0 -0
  105. {buildz-0.6.49 → buildz-0.6.51}/buildz/dz/__init__.py +0 -0
  106. {buildz-0.6.49 → buildz-0.6.51}/buildz/evalz/__init__.py +0 -0
  107. {buildz-0.6.49 → buildz-0.6.51}/buildz/evalz/evalz.py +0 -0
  108. {buildz-0.6.49 → buildz-0.6.51}/buildz/evalz/res/default.js +0 -0
  109. {buildz-0.6.49 → buildz-0.6.51}/buildz/evalz/test.py +0 -0
  110. {buildz-0.6.49 → buildz-0.6.51}/buildz/fz/__init__.py +0 -0
  111. {buildz-0.6.49 → buildz-0.6.51}/buildz/fz/dirz.py +0 -0
  112. {buildz-0.6.49 → buildz-0.6.51}/buildz/fz/fhs.py +0 -0
  113. {buildz-0.6.49 → buildz-0.6.51}/buildz/fz/fio.py +0 -0
  114. {buildz-0.6.49 → buildz-0.6.51}/buildz/fz/lsf.py +0 -0
  115. {buildz-0.6.49 → buildz-0.6.51}/buildz/html/__init__.py +0 -0
  116. {buildz-0.6.49 → buildz-0.6.51}/buildz/html/test/demo.html +0 -0
  117. {buildz-0.6.49 → buildz-0.6.51}/buildz/html/test/test.py +0 -0
  118. {buildz-0.6.49 → buildz-0.6.51}/buildz/html/xml.py +0 -0
  119. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/__init__.py +0 -0
  120. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/base.py +0 -0
  121. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/init.py +0 -0
  122. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc/base.py +0 -0
  123. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc/conf.py +0 -0
  124. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc/confs.py +0 -0
  125. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc/decorator.py +0 -0
  126. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc/loads.py +0 -0
  127. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc/single.py +0 -0
  128. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/base.py +0 -0
  129. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/branch.py +0 -0
  130. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/call.py +0 -0
  131. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/calls.py +0 -0
  132. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/branch_lists.js +0 -0
  133. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
  134. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
  135. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
  136. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/calls_lists.js +0 -0
  137. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/deal_lists.js +0 -0
  138. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/deals.js +0 -0
  139. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
  140. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/ioc_lists.js +0 -0
  141. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/iocf_lists.js +0 -0
  142. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/join_lists.js +0 -0
  143. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/list_lists.js +0 -0
  144. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/map_lists.js +0 -0
  145. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
  146. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
  147. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
  148. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
  149. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
  150. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
  151. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
  152. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/ref_lists.js +0 -0
  153. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/refs_lists.js +0 -0
  154. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
  155. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/xfile_defaults.js +0 -0
  156. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/conf/xfile_lists.js +0 -0
  157. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/deal.py +0 -0
  158. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/demo.py +0 -0
  159. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/env.py +0 -0
  160. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/init.py +0 -0
  161. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/ioc.py +0 -0
  162. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/iocf.py +0 -0
  163. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/join.py +0 -0
  164. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/list.py +0 -0
  165. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/map.py +0 -0
  166. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/mcall.py +0 -0
  167. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/obj.py +0 -0
  168. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/ovar.py +0 -0
  169. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/ref.py +0 -0
  170. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/refs.py +0 -0
  171. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/val.py +0 -0
  172. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/var.py +0 -0
  173. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/ioc_deal/xfile.py +0 -0
  174. {buildz-0.6.49 → buildz-0.6.51}/buildz/ioc/wrap.py +0 -0
  175. {buildz-0.6.49 → buildz-0.6.51}/buildz/iocz/base.py +0 -0
  176. {buildz-0.6.49 → buildz-0.6.51}/buildz/iocz/ioc/__init__.py +0 -0
  177. {buildz-0.6.49 → buildz-0.6.51}/buildz/iocz/ioc/bind.py +0 -0
  178. {buildz-0.6.49 → buildz-0.6.51}/buildz/iocz/ioc/confs.py +0 -0
  179. {buildz-0.6.49 → buildz-0.6.51}/buildz/iocz/ioc/datas.py +0 -0
  180. {buildz-0.6.49 → buildz-0.6.51}/buildz/iocz/ioc/deals.py +0 -0
  181. {buildz-0.6.49 → buildz-0.6.51}/buildz/iocz/ioc/dm.py +0 -0
  182. {buildz-0.6.49 → buildz-0.6.51}/buildz/iocz/ioc/env.py +0 -0
  183. {buildz-0.6.49 → buildz-0.6.51}/buildz/iocz/ioc/ids.py +0 -0
  184. {buildz-0.6.49 → buildz-0.6.51}/buildz/iocz/ioc/init.py +0 -0
  185. {buildz-0.6.49 → buildz-0.6.51}/buildz/iocz/ioc/single.py +0 -0
  186. {buildz-0.6.49 → buildz-0.6.51}/buildz/iocz/ioc/tdata.py +0 -0
  187. {buildz-0.6.49 → buildz-0.6.51}/buildz/iocz/ioc/tdict.py +0 -0
  188. {buildz-0.6.49 → buildz-0.6.51}/buildz/iocz/ioc/test1.py +0 -0
  189. {buildz-0.6.49 → buildz-0.6.51}/buildz/logz.py +0 -0
  190. {buildz-0.6.49 → buildz-0.6.51}/buildz/netz/__init__.py +0 -0
  191. {buildz-0.6.49 → buildz-0.6.51}/buildz/netz/mhttp/__init__.py +0 -0
  192. {buildz-0.6.49 → buildz-0.6.51}/buildz/netz/mhttp/caps.py +0 -0
  193. {buildz-0.6.49 → buildz-0.6.51}/buildz/netz/mhttp/mhttp.py +0 -0
  194. {buildz-0.6.49 → buildz-0.6.51}/buildz/netz/mhttp/proxy.py +0 -0
  195. {buildz-0.6.49 → buildz-0.6.51}/buildz/netz/mhttp/record.py +0 -0
  196. {buildz-0.6.49 → buildz-0.6.51}/buildz/netz/sslz/__init__.py +0 -0
  197. {buildz-0.6.49 → buildz-0.6.51}/buildz/netz/sslz/gen.py +0 -0
  198. {buildz-0.6.49 → buildz-0.6.51}/buildz/netz/sslz/gen.pyi +0 -0
  199. {buildz-0.6.49 → buildz-0.6.51}/buildz/netz/test/__main__.py +0 -0
  200. {buildz-0.6.49 → buildz-0.6.51}/buildz/netz/test/test.py +0 -0
  201. {buildz-0.6.49 → buildz-0.6.51}/buildz/netz/test/test_cli.py +0 -0
  202. {buildz-0.6.49 → buildz-0.6.51}/buildz/pathz.py +0 -0
  203. {buildz-0.6.49 → buildz-0.6.51}/buildz/pyz.py +0 -0
  204. {buildz-0.6.49 → buildz-0.6.51}/buildz/tools.py +0 -0
  205. {buildz-0.6.49 → buildz-0.6.51}/buildz/tz/__init__.py +0 -0
  206. {buildz-0.6.49 → buildz-0.6.51}/buildz/tz/myers_diff.py +0 -0
  207. {buildz-0.6.49 → buildz-0.6.51}/buildz/tz/test_xfind.py +0 -0
  208. {buildz-0.6.49 → buildz-0.6.51}/buildz/tz/time/__init__.py +0 -0
  209. {buildz-0.6.49 → buildz-0.6.51}/buildz/tz/time/timez.py +0 -0
  210. {buildz-0.6.49 → buildz-0.6.51}/buildz/tz/tio/__init__.py +0 -0
  211. {buildz-0.6.49 → buildz-0.6.51}/buildz/tz/tio/base.py +0 -0
  212. {buildz-0.6.49 → buildz-0.6.51}/buildz/tz/tio/getch.py +0 -0
  213. {buildz-0.6.49 → buildz-0.6.51}/buildz/tz/tio/lx.py +0 -0
  214. {buildz-0.6.49 → buildz-0.6.51}/buildz/tz/tio/test.py +0 -0
  215. {buildz-0.6.49 → buildz-0.6.51}/buildz/tz/tio/win.py +0 -0
  216. {buildz-0.6.49 → buildz-0.6.51}/buildz/tz/xfind.py +0 -0
  217. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/__init__.py +0 -0
  218. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/__main__.py +0 -0
  219. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/base.py +0 -0
  220. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/code.py +0 -0
  221. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/code_modify.py +0 -0
  222. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/copy_old.py +0 -0
  223. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/file.py +0 -0
  224. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loader/base.py +0 -0
  225. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loader/buffer.py +0 -0
  226. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loader/deal/listz.py +0 -0
  227. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loader/deal/lr.py +0 -0
  228. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loader/deal/lrval.py +0 -0
  229. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loader/deal/mapz.py +0 -0
  230. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loader/deal/nextz.py +0 -0
  231. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loader/deal/reval.py +0 -0
  232. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loader/deal/setz.py +0 -0
  233. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loader/deal/spc.py +0 -0
  234. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loader/deal/spt.py +0 -0
  235. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loader/deal/strz.py +0 -0
  236. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loader/exp.py +0 -0
  237. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loader/item.py +0 -0
  238. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loader/mg.py +0 -0
  239. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loader/pos.py +0 -0
  240. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz/base.py +0 -0
  241. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz/buffer.py +0 -0
  242. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz/deal/listmapz.py +0 -0
  243. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz/deal/listz.py +0 -0
  244. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz/deal/lr.py +0 -0
  245. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz/deal/lrval.py +0 -0
  246. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz/deal/mapz.py +0 -0
  247. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz/deal/nextz.py +0 -0
  248. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz/deal/reval.py +0 -0
  249. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz/deal/setz.py +0 -0
  250. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz/deal/spc.py +0 -0
  251. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz/deal/spt.py +0 -0
  252. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz/deal/strz.py +0 -0
  253. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz/deal/strz_new.py +0 -0
  254. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz/deal/strz_old.py +0 -0
  255. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz/exp.py +0 -0
  256. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz/item.py +0 -0
  257. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz/mg.py +0 -0
  258. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz/pos.py +0 -0
  259. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz/test.py +0 -0
  260. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz/test1.py +0 -0
  261. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz_nexp/base.py +0 -0
  262. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz_nexp/buffer.py +0 -0
  263. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz_nexp/deal/listmapz.py +0 -0
  264. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz_nexp/deal/listz.py +0 -0
  265. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz_nexp/deal/lr.py +0 -0
  266. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz_nexp/deal/lrval.py +0 -0
  267. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz_nexp/deal/mapz.py +0 -0
  268. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz_nexp/deal/nextz.py +0 -0
  269. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz_nexp/deal/reval.py +0 -0
  270. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz_nexp/deal/setz.py +0 -0
  271. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz_nexp/deal/spc.py +0 -0
  272. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz_nexp/deal/spt.py +0 -0
  273. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz_nexp/deal/strz.py +0 -0
  274. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz_nexp/deal/strz_new.py +0 -0
  275. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz_nexp/deal/strz_old.py +0 -0
  276. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz_nexp/exp.py +0 -0
  277. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz_nexp/item.py +0 -0
  278. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz_nexp/mg.py +0 -0
  279. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz_nexp/pos.py +0 -0
  280. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz_nexp/test.py +0 -0
  281. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/loaderz_nexp/test1.py +0 -0
  282. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/mapz.py +0 -0
  283. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/read.py +0 -0
  284. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/readz.py +0 -0
  285. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/readz_nexp.py +0 -0
  286. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/stack.py +0 -0
  287. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/write.py +0 -0
  288. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writer/base.py +0 -0
  289. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writer/conf.py +0 -0
  290. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writer/deal/jsonval.py +0 -0
  291. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writer/deal/listmapz.py +0 -0
  292. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writer/deal/listz.py +0 -0
  293. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writer/deal/mapz.py +0 -0
  294. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writer/deal/reval.py +0 -0
  295. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writer/deal/strz.py +0 -0
  296. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writer/itemz.py +0 -0
  297. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writer/mg.py +0 -0
  298. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writerz/base.py +0 -0
  299. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writerz/conf.py +0 -0
  300. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writerz/deal/jsonval.py +0 -0
  301. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writerz/deal/listmapz.py +0 -0
  302. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writerz/deal/listz.py +0 -0
  303. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writerz/deal/mapz.py +0 -0
  304. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writerz/deal/reval.py +0 -0
  305. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writerz/deal/strz.py +0 -0
  306. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writerz/itemz.py +0 -0
  307. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writerz/mg.py +0 -0
  308. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writerz/test.py +0 -0
  309. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writerz/testx.py +0 -0
  310. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/writez.py +0 -0
  311. {buildz-0.6.49 → buildz-0.6.51}/buildz/xf/xargs.py +0 -0
  312. {buildz-0.6.49 → buildz-0.6.51}/buildz/xz/__init__.py +0 -0
  313. {buildz-0.6.49 → buildz-0.6.51}/buildz/xz/conf.js +0 -0
  314. {buildz-0.6.49 → buildz-0.6.51}/buildz/xz/data.js +0 -0
  315. {buildz-0.6.49 → buildz-0.6.51}/buildz/xz/test.py +0 -0
  316. {buildz-0.6.49 → buildz-0.6.51}/buildz/xz/trs.py +0 -0
  317. {buildz-0.6.49 → buildz-0.6.51}/buildz.egg-info/dependency_links.txt +0 -0
  318. {buildz-0.6.49 → buildz-0.6.51}/buildz.egg-info/top_level.txt +0 -0
  319. {buildz-0.6.49 → buildz-0.6.51}/notes/notes.txt +0 -0
  320. {buildz-0.6.49 → buildz-0.6.51}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: buildz
3
- Version: 0.6.49
3
+ Version: 0.6.51
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
@@ -1,4 +1,12 @@
1
1
  from buildz import pyz
2
+ def isdict(obj):
3
+ return type(obj)==dict
4
+ def islist(obj):
5
+ return type(obj) in (list, tuple)
6
+ def tolist(obj):
7
+ if not islist(obj):
8
+ obj = [obj]
9
+ return obj
2
10
  def dict2list(obj):
3
11
  if type(obj)!=dict:
4
12
  return obj
@@ -53,20 +61,15 @@ def gf(obj, **maps):
53
61
  return rst
54
62
 
55
63
  pass
56
- def get_first(obj, *keys):
64
+ def get_first(obj, keys, default = None):
57
65
  for k in keys:
58
66
  if k in obj:
59
- return obj[k]
60
- raise KeyError(keys[0])
61
-
62
- pass
63
- def get_one(obj, keys, default = None):
64
- for k in keys:
65
- if k in obj:
66
- return obj[k]
67
- return default
67
+ return obj[k],1
68
+ return default,0
68
69
 
69
70
  pass
71
+ def get_one(obj, keys, default=None):
72
+ return get_first(obj, keys, default)[0]
70
73
  def g1(obj, **maps):
71
74
  v = None
72
75
  for k in maps:
@@ -180,7 +183,7 @@ def dhas(maps, keys):
180
183
 
181
184
  pass
182
185
 
183
- def dget(maps, keys):
186
+ def dget(maps, keys, default = None):
184
187
  if type(keys) not in (list,tuple):
185
188
  keys = [keys]
186
189
  for key in keys:
@@ -196,7 +199,7 @@ def dget(maps, keys):
196
199
  else:
197
200
  find = False
198
201
  if not find:
199
- return None,0
202
+ return default,0
200
203
  maps = maps[key]
201
204
  return maps,1
202
205
 
@@ -216,7 +219,7 @@ def dremove(maps, keys):
216
219
  if first or len(maps[key])==0:
217
220
  del maps[key]
218
221
  first=0
219
- return None
222
+ return
220
223
 
221
224
  pass
222
225
 
@@ -311,7 +314,7 @@ def flush_maps(maps, fc_key = lambda x:x.split(".") if type(x)==str else [x], vi
311
314
  for k,v in maps.items():
312
315
  ks = fc_key(k)
313
316
  v = flush_maps(v, fc_key, visit_list)
314
- sets(rst, ks, v)
317
+ dset(rst, ks, v)
315
318
  return rst
316
319
 
317
320
  pass
@@ -0,0 +1,3 @@
1
+ from ..ioc.base import *
2
+ from ..ioc.confs import Confs
3
+
@@ -0,0 +1,102 @@
1
+
2
+ #
3
+ from ..ioc.mg import Manager, GetKey, Ids
4
+ from ... import dz,xf
5
+ from .unit import ConfUnit
6
+ spt = Ids(".")
7
+ class DLKey(GetKey):
8
+ @staticmethod
9
+ def Load(conf):
10
+ keys, kfind = dz.dget(conf, spt("dict.key"))
11
+ lids, lfind = dz.dget(conf, spt("list.index"))
12
+ default = dz.dget(conf, 'default', None)
13
+ return DLKey(keys, lids, default)
14
+ def init(self, keys, indexes, default=None):
15
+ super().init()
16
+ self.keys = dz.tolist(keys)
17
+ self.indexes = dz.tolist(indexes)
18
+ self.default = default
19
+ def list_get(self, conf):
20
+ for indexes in self.indexes:
21
+ obj, find = dz.dget(conf, indexes)
22
+ if find:
23
+ return obj, find
24
+ return self.default, 0
25
+ def dict_get(self, conf):
26
+ for keys in self.keys:
27
+ obj, find = dz.dget(conf, keys)
28
+ if find:
29
+ return obj, find
30
+ return self.default, 0
31
+ def call(self, conf):
32
+ if dz.islist(conf):
33
+ return self.list_get(conf)
34
+ return self.dict_get(conf)
35
+ def list_fill(self, conf, key):
36
+ for indexes in self.indexes:
37
+ obj, find = dz.dget(conf, indexes)
38
+ if find:
39
+ dz.dset(conf, indexes, key)
40
+ return
41
+ assert 0
42
+ def dict_fill(self, conf, key):
43
+ for keys in self.keys:
44
+ obj, find = dz.dget(conf, keys)
45
+ if find:
46
+ dz.dset(conf, keys, key)
47
+ return
48
+ dz.dset(conf, self.keys[0], key)
49
+ def fill(self, conf, key):
50
+ if dz.islist(conf):
51
+ self.list_fill(conf, key)
52
+ else:
53
+ self.dict_fill(conf, key)
54
+ default_conf = None
55
+ s_default_conf = r"""
56
+ {
57
+ id.spt: '.'
58
+ conf:{
59
+ dict.key = 'id'
60
+ list.index = [(0,1)]
61
+ default: null
62
+ }
63
+ deal: {
64
+ spt: '.'
65
+ dict.key = type
66
+ list.index = ((0,0),0)
67
+ default: null
68
+ }
69
+ }
70
+ """
71
+ def init():
72
+ global default_conf
73
+ if default_conf is not None:
74
+ return
75
+ default_conf = xf.loads(s_default_conf)
76
+ default_conf = dz.flush_maps(default_conf)
77
+ class ConfManager(Manager):
78
+ def init(self, conf=None):
79
+ ids, deal_key, conf_key, deal_ids = self.Conf(conf)
80
+ super().init(ids, deal_key, conf_key, deal_ids)
81
+ @staticmethod
82
+ def Conf(conf=None):
83
+ init()
84
+ spt = Ids(".")
85
+ if conf is None:
86
+ conf = {}
87
+ if type(conf)==str:
88
+ conf = xf.loads(conf)
89
+ conf = dz.flush_maps(conf)
90
+ dz.fill(default_conf, conf, 0)
91
+ id_spt, find = dz.dget(conf, spt("id.spt"),".")
92
+ ids = Ids(id_spt)
93
+ deal_spt, find = dz.dget(conf, spt("id.spt"), id_spt)
94
+ deal_ids = Ids(deal_spt)
95
+ deal_key = DLKey.Load(conf['deal'])
96
+ conf_key = DLKey.Load(conf['conf'])
97
+ return ids, deal_key, conf_key, deal_ids
98
+ def add_conf(self, conf):
99
+ unit = ConfUnit(conf, self)
100
+ return unit
101
+
102
+ pass
@@ -0,0 +1,51 @@
1
+ #
2
+
3
+ from buildz.iocz.conf.mg import ConfManager
4
+
5
+ from buildz.iocz.ioc import *
6
+ from buildz.iocz.ioc_deal import obj, deal
7
+ from buildz import xf, pyz, Base
8
+
9
+ class Test(Base):
10
+ def init(self, id=0):
11
+ self.id = id
12
+
13
+ pass
14
+ confs = r"""
15
+ confs.pri: {
16
+ deal_obj:{
17
+ type=deal
18
+ source=buildz.iocz.ioc_deal.obj.ObjectDeal
19
+ deals: obj
20
+ call=1
21
+ }
22
+ }
23
+ confs: [
24
+ {
25
+ id=test
26
+ type=obj
27
+ source=buildz.iocz.ioc.test.Test
28
+ args=[
29
+ {
30
+ type=obj
31
+ source = buildz.iocz.ioc.test.Test
32
+ maps={id=123}
33
+ }
34
+ ]
35
+ }
36
+ ]
37
+ builds: [deal_obj]
38
+ """
39
+ def test():
40
+ mg = ConfManager()
41
+ mg.set_deal("deal", deal.DealDeal())
42
+ print(mg)
43
+ unit = mg.add_conf(confs)
44
+ encape, tag, find = mg.get_encape("test")
45
+ print(f"encape: {encape}")
46
+ it = encape()
47
+ print(f"obj: {id(it), id(it.id),it.id.id}")
48
+ it = encape()
49
+ print(f"obj: {id(it), id(it.id),it.id.id}")
50
+
51
+ pyz.lc(locals(), test)
@@ -0,0 +1,66 @@
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
+ envs.pub|envs.pri|envs.ns|envs: {
10
+
11
+ }
12
+ confs.pub|confs.pri|confs.ns|confs: [
13
+
14
+ ]
15
+ confs.pub|confs.pri|confs.ns|confs: {
16
+
17
+ }
18
+ builds: [
19
+
20
+ ]
21
+
22
+ or
23
+
24
+ [
25
+ ...
26
+ ]
27
+ '''
28
+ class ConfUnit(Unit):
29
+ key_ns = ('id', 'namespace', 'ns')
30
+ key_deal_ns = "deal_id,deal_ns,deal_namespace".split(",")
31
+ key_pub = "confs.pub,confs".split(",")
32
+ key_pri = "confs.pri,confs.prv".split(",")
33
+ key_ns = "confs.ns,confs.namespace".split(",")
34
+ key_builds = "builds,build".split(",")
35
+ def init(self, conf, mg):
36
+ if type(conf)==str:
37
+ conf = xf.loads(conf)
38
+ if dz.islist(conf):
39
+ conf = {'confs': conf}
40
+ ns = dz.get_one(conf, self.key_ns)
41
+ deal_ns = dz.get_one(conf, self.key_deal_ns)
42
+ super().init(ns, deal_ns)
43
+ self.bind(mg)
44
+ self.load(conf)
45
+ def load_confs(self, confs, tag=None):
46
+ rst = []
47
+ if dz.isdict(confs):
48
+ for k,v in confs.items():
49
+ self.conf_key.fill(v, k)
50
+ rst.append(v)
51
+ confs = rst
52
+ for item in confs:
53
+ key,find = self.conf_key(item)
54
+ if find:
55
+ self.set_conf(key, item, tag)
56
+ def load(self, conf):
57
+ keys = [self.key_pub, self.key_ns, self.key_pri]
58
+ tags = [Datas.Key.Pub, Datas.Key.Ns, Datas.Key.Pri]
59
+ for key, tag in zip(keys, tags):
60
+ tag_confs = dz.get_one(conf, key, [])
61
+ self.load_confs(tag_confs, tag)
62
+ builds = dz.get_one(conf, self.key_builds, [])
63
+ for item in builds:
64
+ self.add_build(item)
65
+
66
+ pass
@@ -0,0 +1,37 @@
1
+ from ..base import *
2
+ basepath = path
3
+ path = pathz.Path()
4
+ path.set("conf", basepath.local("ioc/conf"), curr=0)
5
+ class Encape(Base):
6
+ def call(self, params=None, **maps):
7
+ return None
8
+
9
+ pass
10
+ class Deal(Base):
11
+ def deal(self, conf, unit):
12
+ return None
13
+ def call(self, conf, unit):
14
+ 'encape, conf, conf_need_udpate'
15
+ encape = self.deal(conf,unit)
16
+ return encape,conf,False
17
+
18
+ pass
19
+
20
+ class Params(Base):
21
+ def clone(self, **upds):
22
+ args, maps = list(self.args), dict(self.maps)
23
+ maps.update(upds)
24
+ return Params(args, maps)
25
+ def init(self, *args, **maps):
26
+ self.args = args
27
+ self.maps = maps
28
+ def get(self, key, default=None):
29
+ if key not in self.maps:
30
+ return default
31
+ return self.maps[key]
32
+ def __getattr__(self, key):
33
+ if key not in self.maps:
34
+ return None
35
+ return self.maps[key]
36
+
37
+ pass
@@ -25,17 +25,17 @@ class Builds(Base):
25
25
  def build(self):
26
26
  if not self.need_build:
27
27
  return
28
+ self.need_build = False
28
29
  for conf in self.jobs:
29
30
  if Confs.is_conf(conf):
30
- encape = self.unit.get_encape(conf, self.unit.ns, self.unit.id)
31
+ encape,c,u = self.unit.get_encape(conf, self.unit.ns, self.unit.id)
31
32
  elif isinstance(conf, Encape):
32
33
  encape = conf
33
34
  else:
34
- encape = self.unit.get_encape(conf, self.unit.ns, self.unit.id)
35
+ encape,c,u = self.unit.get_encape(conf, self.unit.ns, self.unit.id)
35
36
  encape()
36
37
  self.dones.append(conf)
37
38
  self.jobs = []
38
- self.need_build = False
39
39
  def call(self):
40
40
  self.build()
41
41
  class Buildset(Base):
@@ -52,6 +52,7 @@ class Buildset(Base):
52
52
  def build(self):
53
53
  if not self.need_build:
54
54
  return
55
+ self.need_build = False
55
56
  for builds in self.jobs:
56
57
  builds()
57
58
  self.dones.append(builds)
@@ -38,13 +38,16 @@ class Dataset(Base):
38
38
  self.ns_set(key, val, ns, data)
39
39
  if data.dts!=self:
40
40
  data.bind(self)
41
- def tget(self, key, ns=None, id=None):
42
- obj, id, keys,tag, find = self.get(key,ns,id)
41
+ def tget(self, key, ns=None, tag=None, id=None):
42
+ obj, id, keys,tag, find = self.get(key,ns,tag, id)
43
43
  return obj, tag, find
44
- def get(self, key, ns=None, id = None):
45
- obj, oid, find = self.ns_get(key,ns,id)
46
- tag = TagData.Key.Ns
47
- keys = key
44
+ def get(self, key, ns=None, tag=None, id = None):
45
+ if tag == TagData.Key.Pub:
46
+ find =False
47
+ else:
48
+ obj, oid, find = self.ns_get(key,ns,id)
49
+ tag = TagData.Key.Ns
50
+ keys = key
48
51
  if not find:
49
52
  obj, oid, keys, find=self.pub_get(key,ns,id)
50
53
  tag=TagData.Key.Pub
@@ -29,7 +29,7 @@ class Encapes(Datas):
29
29
  self.set(key, encape, ctag)
30
30
  return encape, ctag, 1
31
31
  def make_conf(self, conf, deal_ns=None, id=None):
32
- deal_key = self.deal_key(conf)
32
+ deal_key, dk_find = self.deal_key(conf)
33
33
  deal, dtag, dfind = self.deals.tget(deal_key, deal_ns, id, True)
34
34
  assert dfind
35
35
  encape, conf, upd = deal(conf, self.unit)
@@ -67,14 +67,14 @@ class Encapeset(Dataset):
67
67
  self.deals = mg.deals
68
68
  self.deal_key = mg.deal_key
69
69
  return self
70
- def make(self, key, ns=None, id = None):
71
- conf, cid, keys, ctag, cfind = self.confs.get(key, ns, id)
70
+ def make(self, key, ns=None, tag=None, id = None):
71
+ conf, cid, keys, ctag, cfind = self.confs.get(key, ns, tag, id)
72
72
  if not cfind:
73
- return 0,0,0,0,0
73
+ return None,None,None,None,0
74
74
  conf, deal_ns = conf
75
75
  encape, conf, upd = self.make_conf(conf, deal_ns, id, cid)
76
76
  if cid in self.objs:
77
- obj = self.objs[id]
77
+ obj = self.objs[cid]
78
78
  if ns != obj.ns:
79
79
  ids_ns = self.ids(obj.ns)
80
80
  keys_ns = keys[:len(ids_ns)]
@@ -88,19 +88,19 @@ class Encapeset(Dataset):
88
88
  self.set(key, encape, ns, ctag)
89
89
  return encape, cid, keys, ctag, 1
90
90
  def make_conf(self, conf, deal_ns=None, id=None,cid=None):
91
- deal_key = self.deal_key(conf)
91
+ deal_key, dk_find = self.deal_key(conf)
92
92
  deal, dtag, dfind = self.deals.tget(deal_key, deal_ns, id)
93
93
  assert dfind
94
94
  unit = self.mg.get_unit(cid)
95
95
  encape, conf, upd = deal(conf, unit)
96
96
  return encape, conf, upd
97
- def get(self, key, ns=None, id=None):
97
+ def get(self, key, ns=None, tag=None, id=None):
98
98
  if Confs.is_conf(key):
99
99
  encape, conf, upd = self.make_conf(key, None, id)
100
100
  return encape, None, None, Datas.Key.Pub, 1
101
- obj, eid, keys, tag, find = super().get(key, ns, id)
101
+ obj, eid, keys, tag, find = super().get(key, ns, tag, id)
102
102
  if find:
103
103
  return obj, eid, keys, tag, find
104
- return self.make(key, ns, id)
104
+ return self.make(key, ns, tag, id)
105
105
 
106
106
 
@@ -3,41 +3,60 @@
3
3
  from .base import *
4
4
  from .encapes import Encapeset
5
5
  from .dataset import Dataset
6
+ from .vars import Varset
6
7
  from ... import pyz,dz
7
8
  from .ids import Ids
8
9
  from .unit import Unit
9
10
  from .builds import Buildset
10
- class StrDealKey(Base):
11
+ class GetKey(Base):
12
+ def call(self, conf):
13
+ return None, 0
14
+ def fill(self, conf, key):
15
+ assert 0,'not callable'
16
+ class SimpleConfKey(Base):
11
17
  def init(self, key):
12
18
  self.key = key
13
19
  def call(self, conf):
14
20
  if self.key not in conf:
15
- return None
16
- return conf[self.key]
21
+ return None,0
22
+ return conf[self.key],1
23
+ def fill(self, conf, key):
24
+ conf[self.key] = key
17
25
 
18
26
  pass
19
27
  class Manager(Base):
20
28
  @staticmethod
21
- def make_deal_key(deal_key):
22
- if type(deal_key) == str:
23
- deal_key = StrDealKey(deal_key)
24
- return deal_key
29
+ def make_key(key):
30
+ if type(key) == str:
31
+ key = SimpleConfKey(key)
32
+ return key
25
33
  @staticmethod
26
34
  def make_ids(ids):
27
35
  if type(ids)==str:
28
36
  ids = Ids(ids)
29
37
  return ids
30
- def init(self, ids, deal_key, deal_ids = None):
38
+ def init(self, ids, deal_key='type', conf_key='id', deal_ids = None):
31
39
  self._index = 0
32
40
  self.units = {}
33
41
  self.builds = Buildset(self)
34
42
  ids = self.make_ids(ids)
35
43
  self.ids = ids
36
- self.deal_key = self.make_deal_key(deal_key)
44
+ self.deal_key = self.make_key(deal_key)
45
+ self.conf_key = self.make_key(conf_key)
37
46
  self.deal_ids = pyz.nnull(deal_ids, ids)
38
47
  self.confs = Dataset(self.ids)
39
48
  self.deals = Dataset(self.deal_ids)
40
49
  self.encapes = Encapeset(self.ids, self)
50
+ self.vars = Varset(self.ids)
51
+ self.push_var = self.vars.vpush
52
+ self.push_vars = self.vars.vpushs
53
+ self.pop_var = self.vars.vpop
54
+ self.pop_vars = self.vars.vpops
55
+ self.set_var = self.vars.vset
56
+ self.set_vars = self.vars.vsets
57
+ self.get_var = self.vars.vget
58
+ self.unset_var = self.vars.vremove
59
+ self.unset_vars = self.vars.vremoves
41
60
  self.default_unit = self.create()
42
61
  def add_build(self, conf):
43
62
  self.builds.add(conf)
@@ -46,11 +65,13 @@ class Manager(Base):
46
65
  def add(self, unit):
47
66
  unit.bind(self)
48
67
  self.units[unit.id] = unit
49
- def create(self, ns=None, deal_ns = None, deal_key=None):
68
+ def create(self, ns=None, deal_ns = None, deal_key=None, conf_key= None):
50
69
  id = self.id()
51
70
  deal_key = pyz.nnull(deal_key, self.deal_key)
52
- deal_key = self.make_deal_key(deal_key)
53
- unit = Unit(ns, deal_ns, deal_key, id)
71
+ conf_key = pyz.nnull(conf_key, self.conf_key)
72
+ deal_key = self.make_key(deal_key)
73
+ conf_key = self.make_key(conf_key)
74
+ unit = Unit(ns, deal_ns, deal_key, conf_key, id)
54
75
  unit.bind(self)
55
76
  return unit
56
77
  def get_unit(self, id):
@@ -0,0 +1,45 @@
1
+
2
+ from buildz.iocz.ioc import *
3
+ from buildz.iocz.ioc_deal import obj, deal
4
+ from buildz import xf, pyz, Base
5
+ class Test(Base):
6
+ def init(self, id=0):
7
+ self.id = id
8
+
9
+ pass
10
+ conf_obj = xf.loads(r"""
11
+ type=obj
12
+ source=buildz.iocz.ioc.test.Test
13
+ args=[
14
+ {
15
+ type=obj
16
+ source = buildz.iocz.ioc.test.Test
17
+ maps={id=123}
18
+ }
19
+ ]
20
+ """)
21
+ conf_init = xf.loads(r"""
22
+ type=deal
23
+ source=buildz.iocz.ioc_deal.obj.ObjectDeal
24
+ deals: obj
25
+ call=1
26
+ """)
27
+ def test():
28
+ mg = Manager('.', 'type')
29
+ mg.set_deal("deal", deal.DealDeal())
30
+ print(mg)
31
+ unit = mg.create()
32
+ print(unit)
33
+ #deal_obj = obj.ObjectDeal()
34
+ #mg.set_deal('obj', deal_obj)
35
+ unit.set_conf("test",conf_obj)
36
+ unit.set_conf("deal_obj",conf_init)
37
+ unit.add_build("deal_obj")
38
+ encape, tag, find = mg.get_encape("test")
39
+ print(f"encape: {encape}")
40
+ it = encape()
41
+ print(f"obj: {id(it), id(it.id),it.id.id}")
42
+ it = encape()
43
+ print(f"obj: {id(it), id(it.id),it.id.id}")
44
+
45
+ pyz.lc(locals(), test)
@@ -6,16 +6,25 @@ from .encapes import Encapes
6
6
  from ... import pyz
7
7
  from .builds import Builds
8
8
  class Unit(Base):
9
- def init(self, ns=None, deal_ns=None, deal_key = None, id=None):
9
+ def init(self, ns=None, deal_ns=None, deal_key = None, conf_key = None, id=None):
10
10
  self.ns = ns
11
11
  self.deal_ns = deal_ns
12
12
  self.deal_key = deal_key
13
+ self.conf_key = conf_key
13
14
  self.id = id
14
15
  self.confs = Confs(ns, deal_ns, id)
15
16
  self.deals = Datas(deal_ns, id)
16
17
  self.builds = Builds(self)
17
18
  self.mg = None
18
19
  self.build_encapes()
20
+ def update_ns(self, ns):
21
+ self.ns = ns
22
+ self.confs.ns = ns
23
+ if self.encapes is not None:
24
+ self.encapes.ns = ns
25
+ def update_deal_ns(self, deal_ns):
26
+ self.deal_ns = deal_ns
27
+ self.deals.ns = deal_ns
19
28
  def add_build(self, conf):
20
29
  self.builds.add(conf)
21
30
  def build(self):
@@ -32,6 +41,7 @@ class Unit(Base):
32
41
  return
33
42
  self.mg = mg
34
43
  self.deal_key = pyz.nnull(self.deal_key, mg.deal_key)
44
+ self.conf_key = pyz.nnull(self.conf_key, mg.conf_key)
35
45
  if self.id is None:
36
46
  self.id = mg.id()
37
47
  self.confs.set_id(self.id)
@@ -49,6 +59,7 @@ class Unit(Base):
49
59
  def get_conf(self, key, src=None, id=None, gfind=True):
50
60
  return self.confs.tget(key, src, id, gfind)
51
61
  def set_conf(self, key, conf, tag=None):
62
+ self.conf_key.fill(conf, key)
52
63
  self.confs.set(key, conf, tag)
53
64
  def get_encape(self, key, src=None, id=None, gfind=True):
54
65
  self.build()
@@ -0,0 +1,65 @@
1
+ #
2
+ from .tdata import TagData
3
+ from .datas import Datas
4
+ from .dataset import Dataset
5
+ from ... import dz,pyz
6
+ class Varset(Dataset):
7
+ @staticmethod
8
+ def fcs(fc, need_val = True):
9
+ def _fc(kvs, ns=None, tag=None):
10
+ if need_val:
11
+ [fc(key, val, ns, tag) for key,val in kvs.items()]
12
+ else:
13
+ [fc(key, ns, tag) for key in kvs]
14
+ return _fc
15
+ def tag(self, _tag):
16
+ if _tag is None:
17
+ _tag = TagData.Key.Pub
18
+ return _tag
19
+ def init(self, ids):
20
+ super().init(ids)
21
+ self.vpops = self.fcs(self.vpop, 0)
22
+ self.vremoves = self.fcs(self.vremove, 0)
23
+ self.vsets = self.fcs(self.vset)
24
+ def vpushs(self, kvs, ns=None,tag=None):
25
+ [self.vpush(key, val, ns, tag) for key, val in kvs.items()]
26
+ return pyz.with_out(lambda :self.vpops(kvs))
27
+ def vset(self, key, val, ns=None, tag=None):
28
+ tag = self.tag(tag)
29
+ self.set(key, [val], ns, tag)
30
+ def vget(self, key, ns=None, tag=None):
31
+ tag = self.tag(tag)
32
+ obj, find_tag, find = self.tget(key, ns, tag)
33
+ if not find or len(obj)==0:
34
+ return None, 0
35
+ return obj[-1], 1
36
+ def vhas(self, key, ns=None, tag=None):
37
+ return self.vget(key, ns, tag)[1]
38
+ def vpush(self, key, val, ns = None, tag = None):
39
+ tag = self.tag(tag)
40
+ obj, find_tag, find = self.tget(key, ns, tag)
41
+ if not find or find_tag != tag:
42
+ obj = []
43
+ obj.append(val)
44
+ self.set(key, obj, ns, tag)
45
+ def vpop(self, key, ns=None, tag=None):
46
+ tag = self.tag(tag)
47
+ obj, find_tag, find = self.tget(key, ns, tag)
48
+ if not find or find_tag != tag:
49
+ return 0
50
+ if len(obj)>0:
51
+ obj.pop(-1)
52
+ return 1
53
+ def vremove(self, key, ns=None, tag=None):
54
+ tag = self.tag(tag)
55
+ obj, find_tag, find = self.tget(key, ns, tag)
56
+ if not find or find_tag != tag:
57
+ return 0
58
+ if tag == TagData.Key.Pub:
59
+ keys = self.ids(ns)+self.ids(key)
60
+ dz.dremove(self.pub, keys)
61
+ else:
62
+ map = self.ns[ns]
63
+ del map[key]
64
+ return 1
65
+