buildz 0.6.48__tar.gz → 0.6.49__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 (319) hide show
  1. {buildz-0.6.48/buildz.egg-info → buildz-0.6.49}/PKG-INFO +1 -1
  2. {buildz-0.6.48 → buildz-0.6.49}/buildz/dz/mapz.py +8 -0
  3. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/wrap.py +1 -0
  4. {buildz-0.6.48 → buildz-0.6.49}/buildz/iocz/base.py +1 -1
  5. buildz-0.6.49/buildz/iocz/ioc/__init__.py +2 -0
  6. buildz-0.6.49/buildz/iocz/ioc/base.py +18 -0
  7. {buildz-0.6.48 → buildz-0.6.49}/buildz/iocz/ioc/bind.py +1 -1
  8. buildz-0.6.49/buildz/iocz/ioc/builds.py +63 -0
  9. buildz-0.6.49/buildz/iocz/ioc/confs.py +15 -0
  10. buildz-0.6.49/buildz/iocz/ioc/datas.py +26 -0
  11. buildz-0.6.49/buildz/iocz/ioc/dataset.py +76 -0
  12. buildz-0.6.49/buildz/iocz/ioc/encapes.py +106 -0
  13. {buildz-0.6.48 → buildz-0.6.49}/buildz/iocz/ioc/env.py +1 -1
  14. {buildz-0.6.48 → buildz-0.6.49}/buildz/iocz/ioc/ids.py +2 -3
  15. buildz-0.6.49/buildz/iocz/ioc/init.py +4 -0
  16. buildz-0.6.49/buildz/iocz/ioc/mg.py +78 -0
  17. buildz-0.6.49/buildz/iocz/ioc/single.py +56 -0
  18. {buildz-0.6.48 → buildz-0.6.49}/buildz/iocz/ioc/tdata.py +13 -8
  19. {buildz-0.6.48 → buildz-0.6.49}/buildz/iocz/ioc/tdict.py +7 -5
  20. buildz-0.6.49/buildz/iocz/ioc/test.py +37 -0
  21. buildz-0.6.49/buildz/iocz/ioc/test1.py +36 -0
  22. buildz-0.6.49/buildz/iocz/ioc/unit.py +57 -0
  23. buildz-0.6.49/buildz/iocz/ioc_deal/base.py +51 -0
  24. buildz-0.6.49/buildz/iocz/ioc_deal/deal.py +69 -0
  25. buildz-0.6.49/buildz/iocz/ioc_deal/obj.py +70 -0
  26. {buildz-0.6.48 → buildz-0.6.49}/buildz/pathz.py +14 -2
  27. {buildz-0.6.48 → buildz-0.6.49}/buildz/pyz.py +15 -1
  28. {buildz-0.6.48 → buildz-0.6.49/buildz.egg-info}/PKG-INFO +1 -1
  29. {buildz-0.6.48 → buildz-0.6.49}/buildz.egg-info/SOURCES.txt +9 -1
  30. {buildz-0.6.48 → buildz-0.6.49}/setup.py +1 -1
  31. buildz-0.6.48/buildz/iocz/ioc/base.py +0 -14
  32. buildz-0.6.48/buildz/iocz/ioc/confs.py +0 -5
  33. buildz-0.6.48/buildz/iocz/ioc/datas.py +0 -23
  34. buildz-0.6.48/buildz/iocz/ioc/dataset.py +0 -35
  35. buildz-0.6.48/buildz/iocz/ioc/encapes.py +0 -26
  36. buildz-0.6.48/buildz/iocz/ioc/envm.py +0 -2
  37. buildz-0.6.48/buildz/iocz/ioc/unit.py +0 -26
  38. buildz-0.6.48/buildz/iocz/ioc_deal/obj.py +0 -79
  39. {buildz-0.6.48 → buildz-0.6.49}/LICENSE +0 -0
  40. {buildz-0.6.48 → buildz-0.6.49}/MANIFEST.in +0 -0
  41. {buildz-0.6.48 → buildz-0.6.49}/README.md +0 -0
  42. {buildz-0.6.48 → buildz-0.6.49}/buildz/__init__.py +0 -0
  43. {buildz-0.6.48 → buildz-0.6.49}/buildz/__main__.py +0 -0
  44. {buildz-0.6.48 → buildz-0.6.49}/buildz/argx.py +0 -0
  45. {buildz-0.6.48 → buildz-0.6.49}/buildz/argz/__init__.py +0 -0
  46. {buildz-0.6.48 → buildz-0.6.49}/buildz/argz/argz.py +0 -0
  47. {buildz-0.6.48 → buildz-0.6.49}/buildz/argz/build.py +0 -0
  48. {buildz-0.6.48 → buildz-0.6.49}/buildz/argz/callz.py +0 -0
  49. {buildz-0.6.48 → buildz-0.6.49}/buildz/argz/evalx.py +0 -0
  50. {buildz-0.6.48 → buildz-0.6.49}/buildz/argz/test.py +0 -0
  51. {buildz-0.6.48 → buildz-0.6.49}/buildz/argz/test_obj.py +0 -0
  52. {buildz-0.6.48 → buildz-0.6.49}/buildz/argz/tests/conf.js +0 -0
  53. {buildz-0.6.48 → buildz-0.6.49}/buildz/argz/testx.py +0 -0
  54. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/__init__.py +0 -0
  55. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/cache.py +0 -0
  56. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/config.py +0 -0
  57. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/dbs.py +0 -0
  58. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/deal.py +0 -0
  59. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/deal_list.py +0 -0
  60. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/deal_type.py +0 -0
  61. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/defs.py +0 -0
  62. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/factory.py +0 -0
  63. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/init.py +0 -0
  64. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/log.py +0 -0
  65. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/request.py +0 -0
  66. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/run.py +0 -0
  67. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/save.py +0 -0
  68. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/test/res/cache/cache.js +0 -0
  69. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/test/res/config/base.js +0 -0
  70. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/test/res/config/config.js +0 -0
  71. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/test/res/data/fp.js +0 -0
  72. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/test/res/data/item1.js +0 -0
  73. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/test/res/data/item2.js +0 -0
  74. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/test/res/data/test.js +0 -0
  75. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/test/test.py +0 -0
  76. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/test/xtest.py +0 -0
  77. {buildz-0.6.48 → buildz-0.6.49}/buildz/auto/verify.py +0 -0
  78. {buildz-0.6.48 → buildz-0.6.49}/buildz/base.py +0 -0
  79. {buildz-0.6.48 → buildz-0.6.49}/buildz/cachez/__init__.py +0 -0
  80. {buildz-0.6.48 → buildz-0.6.49}/buildz/cachez/cache.py +0 -0
  81. {buildz-0.6.48 → buildz-0.6.49}/buildz/cmd.py +0 -0
  82. {buildz-0.6.48 → buildz-0.6.49}/buildz/confz.py +0 -0
  83. {buildz-0.6.48 → buildz-0.6.49}/buildz/db/__init__.py +0 -0
  84. {buildz-0.6.48 → buildz-0.6.49}/buildz/db/__main__.py +0 -0
  85. {buildz-0.6.48 → buildz-0.6.49}/buildz/db/dv/__init__.py +0 -0
  86. {buildz-0.6.48 → buildz-0.6.49}/buildz/db/dv/basez.py +0 -0
  87. {buildz-0.6.48 → buildz-0.6.49}/buildz/db/dv/clickhousez.py +0 -0
  88. {buildz-0.6.48 → buildz-0.6.49}/buildz/db/dv/lib/readme +0 -0
  89. {buildz-0.6.48 → buildz-0.6.49}/buildz/db/dv/mysqlz.py +0 -0
  90. {buildz-0.6.48 → buildz-0.6.49}/buildz/db/dv/oraclez.py +0 -0
  91. {buildz-0.6.48 → buildz-0.6.49}/buildz/db/dv/orm.py +0 -0
  92. {buildz-0.6.48 → buildz-0.6.49}/buildz/db/dv/postgresqlz.py +0 -0
  93. {buildz-0.6.48 → buildz-0.6.49}/buildz/db/dv/sqlite3z.py +0 -0
  94. {buildz-0.6.48 → buildz-0.6.49}/buildz/db/dv/structz.py +0 -0
  95. {buildz-0.6.48 → buildz-0.6.49}/buildz/db/install.txt +0 -0
  96. {buildz-0.6.48 → buildz-0.6.49}/buildz/db/run.conf +0 -0
  97. {buildz-0.6.48 → buildz-0.6.49}/buildz/db/runz.py +0 -0
  98. {buildz-0.6.48 → buildz-0.6.49}/buildz/db/tls.py +0 -0
  99. {buildz-0.6.48 → buildz-0.6.49}/buildz/demo/ioc/deal.py +0 -0
  100. {buildz-0.6.48 → buildz-0.6.49}/buildz/demo/ioc/help.py +0 -0
  101. {buildz-0.6.48 → buildz-0.6.49}/buildz/demo/myers/deal.py +0 -0
  102. {buildz-0.6.48 → buildz-0.6.49}/buildz/demo/myers/help.py +0 -0
  103. {buildz-0.6.48 → buildz-0.6.49}/buildz/demo/res/conf/ioc.js +0 -0
  104. {buildz-0.6.48 → buildz-0.6.49}/buildz/demo/res/conf/main.js +0 -0
  105. {buildz-0.6.48 → buildz-0.6.49}/buildz/demo/res/conf/myers.js +0 -0
  106. {buildz-0.6.48 → buildz-0.6.49}/buildz/demo/res/conf/search.js +0 -0
  107. {buildz-0.6.48 → buildz-0.6.49}/buildz/demo/res/conf/xf.js +0 -0
  108. {buildz-0.6.48 → buildz-0.6.49}/buildz/demo/res/help/default.js +0 -0
  109. {buildz-0.6.48 → buildz-0.6.49}/buildz/demo/res/help/ioc.js +0 -0
  110. {buildz-0.6.48 → buildz-0.6.49}/buildz/demo/res/help/myers.js +0 -0
  111. {buildz-0.6.48 → buildz-0.6.49}/buildz/demo/res/help/search.js +0 -0
  112. {buildz-0.6.48 → buildz-0.6.49}/buildz/demo/res/help/xf.js +0 -0
  113. {buildz-0.6.48 → buildz-0.6.49}/buildz/demo/res/test.js +0 -0
  114. {buildz-0.6.48 → buildz-0.6.49}/buildz/demo/search/deal.py +0 -0
  115. {buildz-0.6.48 → buildz-0.6.49}/buildz/demo/search/help.py +0 -0
  116. {buildz-0.6.48 → buildz-0.6.49}/buildz/demo/test.py +0 -0
  117. {buildz-0.6.48 → buildz-0.6.49}/buildz/demo/xf/deal.py +0 -0
  118. {buildz-0.6.48 → buildz-0.6.49}/buildz/demo/xf/help.py +0 -0
  119. {buildz-0.6.48 → buildz-0.6.49}/buildz/dz/__init__.py +0 -0
  120. {buildz-0.6.48 → buildz-0.6.49}/buildz/evalz/__init__.py +0 -0
  121. {buildz-0.6.48 → buildz-0.6.49}/buildz/evalz/evalz.py +0 -0
  122. {buildz-0.6.48 → buildz-0.6.49}/buildz/evalz/res/default.js +0 -0
  123. {buildz-0.6.48 → buildz-0.6.49}/buildz/evalz/test.py +0 -0
  124. {buildz-0.6.48 → buildz-0.6.49}/buildz/fz/__init__.py +0 -0
  125. {buildz-0.6.48 → buildz-0.6.49}/buildz/fz/dirz.py +0 -0
  126. {buildz-0.6.48 → buildz-0.6.49}/buildz/fz/fhs.py +0 -0
  127. {buildz-0.6.48 → buildz-0.6.49}/buildz/fz/fio.py +0 -0
  128. {buildz-0.6.48 → buildz-0.6.49}/buildz/fz/lsf.py +0 -0
  129. {buildz-0.6.48 → buildz-0.6.49}/buildz/html/__init__.py +0 -0
  130. {buildz-0.6.48 → buildz-0.6.49}/buildz/html/test/demo.html +0 -0
  131. {buildz-0.6.48 → buildz-0.6.49}/buildz/html/test/test.py +0 -0
  132. {buildz-0.6.48 → buildz-0.6.49}/buildz/html/xml.py +0 -0
  133. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/__init__.py +0 -0
  134. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/base.py +0 -0
  135. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/init.py +0 -0
  136. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc/base.py +0 -0
  137. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc/conf.py +0 -0
  138. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc/confs.py +0 -0
  139. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc/decorator.py +0 -0
  140. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc/loads.py +0 -0
  141. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc/single.py +0 -0
  142. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/base.py +0 -0
  143. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/branch.py +0 -0
  144. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/call.py +0 -0
  145. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/calls.py +0 -0
  146. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/branch_lists.js +0 -0
  147. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
  148. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
  149. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
  150. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/calls_lists.js +0 -0
  151. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/deal_lists.js +0 -0
  152. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/deals.js +0 -0
  153. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
  154. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/ioc_lists.js +0 -0
  155. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/iocf_lists.js +0 -0
  156. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/join_lists.js +0 -0
  157. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/list_lists.js +0 -0
  158. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/map_lists.js +0 -0
  159. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
  160. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
  161. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
  162. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
  163. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
  164. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
  165. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
  166. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/ref_lists.js +0 -0
  167. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/refs_lists.js +0 -0
  168. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
  169. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/xfile_defaults.js +0 -0
  170. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/conf/xfile_lists.js +0 -0
  171. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/deal.py +0 -0
  172. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/demo.py +0 -0
  173. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/env.py +0 -0
  174. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/init.py +0 -0
  175. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/ioc.py +0 -0
  176. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/iocf.py +0 -0
  177. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/join.py +0 -0
  178. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/list.py +0 -0
  179. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/map.py +0 -0
  180. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/mcall.py +0 -0
  181. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/obj.py +0 -0
  182. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/ovar.py +0 -0
  183. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/ref.py +0 -0
  184. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/refs.py +0 -0
  185. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/val.py +0 -0
  186. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/var.py +0 -0
  187. {buildz-0.6.48 → buildz-0.6.49}/buildz/ioc/ioc_deal/xfile.py +0 -0
  188. {buildz-0.6.48 → buildz-0.6.49}/buildz/iocz/ioc/deals.py +0 -0
  189. {buildz-0.6.48 → buildz-0.6.49}/buildz/iocz/ioc/dm.py +0 -0
  190. {buildz-0.6.48 → buildz-0.6.49}/buildz/logz.py +0 -0
  191. {buildz-0.6.48 → buildz-0.6.49}/buildz/netz/__init__.py +0 -0
  192. {buildz-0.6.48 → buildz-0.6.49}/buildz/netz/mhttp/__init__.py +0 -0
  193. {buildz-0.6.48 → buildz-0.6.49}/buildz/netz/mhttp/caps.py +0 -0
  194. {buildz-0.6.48 → buildz-0.6.49}/buildz/netz/mhttp/mhttp.py +0 -0
  195. {buildz-0.6.48 → buildz-0.6.49}/buildz/netz/mhttp/proxy.py +0 -0
  196. {buildz-0.6.48 → buildz-0.6.49}/buildz/netz/mhttp/record.py +0 -0
  197. {buildz-0.6.48 → buildz-0.6.49}/buildz/netz/sslz/__init__.py +0 -0
  198. {buildz-0.6.48 → buildz-0.6.49}/buildz/netz/sslz/gen.py +0 -0
  199. {buildz-0.6.48 → buildz-0.6.49}/buildz/netz/sslz/gen.pyi +0 -0
  200. {buildz-0.6.48 → buildz-0.6.49}/buildz/netz/test/__main__.py +0 -0
  201. {buildz-0.6.48 → buildz-0.6.49}/buildz/netz/test/test.py +0 -0
  202. {buildz-0.6.48 → buildz-0.6.49}/buildz/netz/test/test_cli.py +0 -0
  203. {buildz-0.6.48 → buildz-0.6.49}/buildz/tools.py +0 -0
  204. {buildz-0.6.48 → buildz-0.6.49}/buildz/tz/__init__.py +0 -0
  205. {buildz-0.6.48 → buildz-0.6.49}/buildz/tz/myers_diff.py +0 -0
  206. {buildz-0.6.48 → buildz-0.6.49}/buildz/tz/test_xfind.py +0 -0
  207. {buildz-0.6.48 → buildz-0.6.49}/buildz/tz/time/__init__.py +0 -0
  208. {buildz-0.6.48 → buildz-0.6.49}/buildz/tz/time/timez.py +0 -0
  209. {buildz-0.6.48 → buildz-0.6.49}/buildz/tz/tio/__init__.py +0 -0
  210. {buildz-0.6.48 → buildz-0.6.49}/buildz/tz/tio/base.py +0 -0
  211. {buildz-0.6.48 → buildz-0.6.49}/buildz/tz/tio/getch.py +0 -0
  212. {buildz-0.6.48 → buildz-0.6.49}/buildz/tz/tio/lx.py +0 -0
  213. {buildz-0.6.48 → buildz-0.6.49}/buildz/tz/tio/test.py +0 -0
  214. {buildz-0.6.48 → buildz-0.6.49}/buildz/tz/tio/win.py +0 -0
  215. {buildz-0.6.48 → buildz-0.6.49}/buildz/tz/xfind.py +0 -0
  216. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/__init__.py +0 -0
  217. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/__main__.py +0 -0
  218. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/base.py +0 -0
  219. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/code.py +0 -0
  220. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/code_modify.py +0 -0
  221. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/copy_old.py +0 -0
  222. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/file.py +0 -0
  223. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loader/base.py +0 -0
  224. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loader/buffer.py +0 -0
  225. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loader/deal/listz.py +0 -0
  226. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loader/deal/lr.py +0 -0
  227. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loader/deal/lrval.py +0 -0
  228. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loader/deal/mapz.py +0 -0
  229. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loader/deal/nextz.py +0 -0
  230. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loader/deal/reval.py +0 -0
  231. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loader/deal/setz.py +0 -0
  232. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loader/deal/spc.py +0 -0
  233. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loader/deal/spt.py +0 -0
  234. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loader/deal/strz.py +0 -0
  235. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loader/exp.py +0 -0
  236. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loader/item.py +0 -0
  237. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loader/mg.py +0 -0
  238. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loader/pos.py +0 -0
  239. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz/base.py +0 -0
  240. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz/buffer.py +0 -0
  241. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz/deal/listmapz.py +0 -0
  242. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz/deal/listz.py +0 -0
  243. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz/deal/lr.py +0 -0
  244. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz/deal/lrval.py +0 -0
  245. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz/deal/mapz.py +0 -0
  246. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz/deal/nextz.py +0 -0
  247. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz/deal/reval.py +0 -0
  248. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz/deal/setz.py +0 -0
  249. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz/deal/spc.py +0 -0
  250. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz/deal/spt.py +0 -0
  251. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz/deal/strz.py +0 -0
  252. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz/deal/strz_new.py +0 -0
  253. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz/deal/strz_old.py +0 -0
  254. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz/exp.py +0 -0
  255. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz/item.py +0 -0
  256. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz/mg.py +0 -0
  257. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz/pos.py +0 -0
  258. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz/test.py +0 -0
  259. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz/test1.py +0 -0
  260. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz_nexp/base.py +0 -0
  261. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz_nexp/buffer.py +0 -0
  262. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz_nexp/deal/listmapz.py +0 -0
  263. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz_nexp/deal/listz.py +0 -0
  264. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz_nexp/deal/lr.py +0 -0
  265. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz_nexp/deal/lrval.py +0 -0
  266. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz_nexp/deal/mapz.py +0 -0
  267. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz_nexp/deal/nextz.py +0 -0
  268. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz_nexp/deal/reval.py +0 -0
  269. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz_nexp/deal/setz.py +0 -0
  270. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz_nexp/deal/spc.py +0 -0
  271. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz_nexp/deal/spt.py +0 -0
  272. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz_nexp/deal/strz.py +0 -0
  273. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz_nexp/deal/strz_new.py +0 -0
  274. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz_nexp/deal/strz_old.py +0 -0
  275. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz_nexp/exp.py +0 -0
  276. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz_nexp/item.py +0 -0
  277. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz_nexp/mg.py +0 -0
  278. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz_nexp/pos.py +0 -0
  279. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz_nexp/test.py +0 -0
  280. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/loaderz_nexp/test1.py +0 -0
  281. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/mapz.py +0 -0
  282. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/read.py +0 -0
  283. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/readz.py +0 -0
  284. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/readz_nexp.py +0 -0
  285. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/stack.py +0 -0
  286. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/write.py +0 -0
  287. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writer/base.py +0 -0
  288. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writer/conf.py +0 -0
  289. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writer/deal/jsonval.py +0 -0
  290. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writer/deal/listmapz.py +0 -0
  291. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writer/deal/listz.py +0 -0
  292. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writer/deal/mapz.py +0 -0
  293. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writer/deal/reval.py +0 -0
  294. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writer/deal/strz.py +0 -0
  295. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writer/itemz.py +0 -0
  296. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writer/mg.py +0 -0
  297. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writerz/base.py +0 -0
  298. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writerz/conf.py +0 -0
  299. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writerz/deal/jsonval.py +0 -0
  300. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writerz/deal/listmapz.py +0 -0
  301. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writerz/deal/listz.py +0 -0
  302. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writerz/deal/mapz.py +0 -0
  303. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writerz/deal/reval.py +0 -0
  304. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writerz/deal/strz.py +0 -0
  305. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writerz/itemz.py +0 -0
  306. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writerz/mg.py +0 -0
  307. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writerz/test.py +0 -0
  308. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writerz/testx.py +0 -0
  309. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/writez.py +0 -0
  310. {buildz-0.6.48 → buildz-0.6.49}/buildz/xf/xargs.py +0 -0
  311. {buildz-0.6.48 → buildz-0.6.49}/buildz/xz/__init__.py +0 -0
  312. {buildz-0.6.48 → buildz-0.6.49}/buildz/xz/conf.js +0 -0
  313. {buildz-0.6.48 → buildz-0.6.49}/buildz/xz/data.js +0 -0
  314. {buildz-0.6.48 → buildz-0.6.49}/buildz/xz/test.py +0 -0
  315. {buildz-0.6.48 → buildz-0.6.49}/buildz/xz/trs.py +0 -0
  316. {buildz-0.6.48 → buildz-0.6.49}/buildz.egg-info/dependency_links.txt +0 -0
  317. {buildz-0.6.48 → buildz-0.6.49}/buildz.egg-info/top_level.txt +0 -0
  318. {buildz-0.6.48 → buildz-0.6.49}/notes/notes.txt +0 -0
  319. {buildz-0.6.48 → buildz-0.6.49}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: buildz
3
- Version: 0.6.48
3
+ Version: 0.6.49
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 dict2list(obj):
3
+ if type(obj)!=dict:
4
+ return obj
5
+ return list(obj.items())
6
+ def dict2iter(obj):
7
+ if type(obj)!=dict:
8
+ return obj
9
+ return obj.items()
2
10
  def get(obj, key, default=None, set = False):
3
11
  if type(obj)==list:
4
12
  key = int(key)
@@ -19,6 +19,7 @@ def pkg(fp):
19
19
  pass
20
20
  def imports(dp=".", pts=".*\.py$", pfx=""):
21
21
  """
22
+ not include test: r"^(?!.*(?:test|bak)).*\.py$"
22
23
  find filepath by dirpath(dp) and pattern(pts),
23
24
  import:
24
25
  filepath = ".".join(filepath.split(".")[:-1])
@@ -2,5 +2,5 @@ from ..base import Base, fcBase
2
2
  from .. import pathz
3
3
  path = pathz.Path()
4
4
  path.set('local', path.dir(__file__))
5
- path.set('conf', path.local('conf'),curr=0)
5
+ path.set('conf', path.local('conf'), curr=0)
6
6
 
@@ -0,0 +1,2 @@
1
+ #
2
+ from .init import *
@@ -0,0 +1,18 @@
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
@@ -1,5 +1,5 @@
1
1
  #
2
- from buildz import Base
2
+ from ... import Base
3
3
 
4
4
  class Bind(Base):
5
5
  def init(self):
@@ -0,0 +1,63 @@
1
+ #
2
+ from .base import *
3
+ from .datas import Datas
4
+ from .confs import Confs
5
+ from .encapes import Encapes
6
+ from ... import pyz
7
+
8
+ class Builds(Base):
9
+ def init(self, unit):
10
+ self.need_build = False
11
+ self.jobs = []
12
+ self.dones = []
13
+ self.unit = unit
14
+ self.builds = None
15
+ def bind(self, builds):
16
+ if self.builds == builds:
17
+ return
18
+ self.builds = builds
19
+ self.builds.add(self)
20
+ def add(self, conf):
21
+ self.jobs.append(conf)
22
+ self.need_build = True
23
+ if self.builds is not None:
24
+ self.builds.add(self)
25
+ def build(self):
26
+ if not self.need_build:
27
+ return
28
+ for conf in self.jobs:
29
+ if Confs.is_conf(conf):
30
+ encape = self.unit.get_encape(conf, self.unit.ns, self.unit.id)
31
+ elif isinstance(conf, Encape):
32
+ encape = conf
33
+ else:
34
+ encape = self.unit.get_encape(conf, self.unit.ns, self.unit.id)
35
+ encape()
36
+ self.dones.append(conf)
37
+ self.jobs = []
38
+ self.need_build = False
39
+ def call(self):
40
+ self.build()
41
+ class Buildset(Base):
42
+ def init(self, mg):
43
+ self.mg = mg
44
+ self.need_build = False
45
+ self.jobs = []
46
+ self.dones = []
47
+ def add(self, builds):
48
+ if builds.need_build:
49
+ self.jobs.append(builds)
50
+ self.need_build = True
51
+ builds.bind(self)
52
+ def build(self):
53
+ if not self.need_build:
54
+ return
55
+ for builds in self.jobs:
56
+ builds()
57
+ self.dones.append(builds)
58
+ self.jobs = []
59
+ self.need_build = False
60
+ def call(self):
61
+ self.build()
62
+
63
+ pass
@@ -0,0 +1,15 @@
1
+ #
2
+ from .tdata import TagData
3
+ from .datas import Datas
4
+ from .dataset import Dataset
5
+ class Confs(Datas):
6
+ @staticmethod
7
+ def is_conf(obj):
8
+ return type(obj) in (list, tuple, dict)
9
+ def init(self, ns=None, id=None, deal_ns = None, dts=None):
10
+ super().init(ns, id, dts)
11
+ self.deal_ns = deal_ns
12
+ def set(self, key, val, tag=None):
13
+ val = (val, self.deal_ns)
14
+ super().set(key, val, tag)
15
+
@@ -0,0 +1,26 @@
1
+
2
+ from ... import pyz, dz
3
+ from .tdata import TagData
4
+ class Datas(TagData):
5
+ '''
6
+ 一个单元下的数据集
7
+ '''
8
+ def init(self, ns=None, id=None, dts=None):
9
+ super().init(ns, id)
10
+ self.dts = dts
11
+ def bind(self, dts):
12
+ if self.dts==dts:
13
+ return
14
+ self.dts = dts
15
+ dts.add(self)
16
+ def set(self, key, val, tag=None):
17
+ tag = pyz.nnull(tag, self.default)
18
+ super().set(key, val, tag)
19
+ if self.dts is not None and tag in (TagData.Key.Pub, TagData.Key.Ns):
20
+ self.dts.set(key, val, self.ns, tag, self)
21
+ def tget(self, key, src=None,id=None, gfind=True):
22
+ ns, id = self.nsid(src, id)
23
+ obj, tag, find=super().tget(key, ns, id)
24
+ if not find and gfind:
25
+ obj, tag, find = self.dts.tget(key, ns, id)
26
+ return obj, tag, find
@@ -0,0 +1,76 @@
1
+ #
2
+
3
+ from .tdata import TagData
4
+ from .base import *
5
+ from ... import dz
6
+ class Dataset(Base):
7
+ '''
8
+ 所有数据集,只包含pub和ns部分
9
+ '''
10
+ def init(self, ids):
11
+ self.ids = ids
12
+ self.pub = {}
13
+ self.ns = {}
14
+ self.objs = {}
15
+ def set(self, key, val, ns=None, tag=None, id=None):
16
+ if tag == TagData.Key.Ns:
17
+ self.ns_set(key,val,ns,id)
18
+ else:
19
+ self.pub_set(key,val,ns,id)
20
+ def pub_set(self, key, val, ns=None, id=None):
21
+ if isinstance(id, TagData):
22
+ id = id.id
23
+ val = (val,id)
24
+ keys = self.ids(ns)+self.ids(key)
25
+ dz.dset(self.pub, keys, val)
26
+ def ns_set(self, key, val, ns=None, id=None):
27
+ if isinstance(id, TagData):
28
+ id = id.id
29
+ val = (val,id)
30
+ map = dz.get_set(self.ns, ns, dict())
31
+ map[key] = val
32
+ def add(self, data):
33
+ ns = data.ns
34
+ self.objs[data.id] = data
35
+ for key, val in data.tag(data.Key.Pub).items():
36
+ self.pub_set(key, val, ns, data)
37
+ for key, val in data.tag(data.Key.Ns).items():
38
+ self.ns_set(key, val, ns, data)
39
+ if data.dts!=self:
40
+ data.bind(self)
41
+ def tget(self, key, ns=None, id=None):
42
+ obj, id, keys,tag, find = self.get(key,ns,id)
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
48
+ if not find:
49
+ obj, oid, keys, find=self.pub_get(key,ns,id)
50
+ tag=TagData.Key.Pub
51
+ return obj,oid,keys,tag,find
52
+ def _pub_get(self, key, ns=None, id=None):
53
+ ids_key = self.ids(key)
54
+ ids = ids_key
55
+ obj,find = dz.dget(self.pub, ids)
56
+ if find:
57
+ return obj, ids, find
58
+ if ns is None:
59
+ return 0,0, 0
60
+ ids = self.ids(ns) + ids_key
61
+ obj,find = dz.dget(self.pub, ids)
62
+ if find:
63
+ return obj, ids, find
64
+ return 0,0,0
65
+ def pub_get(self, key, ns=None, id=None):
66
+ obj,keys,find = self._pub_get(key, ns, id)
67
+ if find:
68
+ v,id=obj
69
+ return v,id,keys,find
70
+ return 0,0,0,0
71
+ def ns_get(self, key, ns=None, id=None):
72
+ map = dz.get_set(self.ns, ns, dict())
73
+ if key not in map:
74
+ return 0, 0, 0
75
+ v,id=map[key]
76
+ return v,id, 1
@@ -0,0 +1,106 @@
1
+ #
2
+ from .datas import Datas
3
+ from .dataset import Dataset
4
+ from .confs import Confs
5
+ class Encapes(Datas):
6
+ def init(self, ns=None, id=None, dts=None, unit=None):
7
+ super().init(ns, id, dts)
8
+ self.confs = None
9
+ self.deals = None
10
+ self.deal_key = None
11
+ self.unit = unit
12
+ self.build()
13
+ def build(self):
14
+ if self.unit is None or self.confs is not None:
15
+ return
16
+ self.confs = self.unit.confs
17
+ self.deals = self.unit.deals
18
+ self.deal_key = self.unit.deal_key
19
+ def make(self, key, ns=None, id=None):
20
+ if self.confs is None or self.deals is None or self.deal_key is None:
21
+ return 0,0,0
22
+ conf, ctag, cfind = self.confs.tget(key, ns, id, False)
23
+ if not cfind:
24
+ return 0,0,0
25
+ conf, deal_ns = conf
26
+ encape, conf, upd = self.make_conf(conf, deal_ns, id)
27
+ if upd:
28
+ self.confs.set(key, conf, ctag)
29
+ self.set(key, encape, ctag)
30
+ return encape, ctag, 1
31
+ def make_conf(self, conf, deal_ns=None, id=None):
32
+ deal_key = self.deal_key(conf)
33
+ deal, dtag, dfind = self.deals.tget(deal_key, deal_ns, id, True)
34
+ assert dfind
35
+ encape, conf, upd = deal(conf, self.unit)
36
+ return encape, conf, upd
37
+ def tget(self, key, src=None,id=None, gfind=True):
38
+ if Confs.is_conf(key):
39
+ encape, conf, upd = self.make_conf(key, self.deals.ns, id)
40
+ return encape, Datas.Key.Pub, 1
41
+ ns, id = self.nsid(src, id)
42
+ obj, tag, find=super().tget(key, ns, id, False)
43
+ if find:
44
+ return obj, tag, find
45
+ obj, tag, find = self.make(key, ns, id)
46
+ if find:
47
+ return obj, tag, find
48
+ if not gfind:
49
+ return 0,0,0
50
+ return self.dts.tget(key, ns, id)
51
+ class Encapeset(Dataset):
52
+ '''
53
+ 生成对象前的中间层
54
+ '''
55
+ def init(self, ids, mg=None):
56
+ super().init(ids)
57
+ self.confs = None
58
+ self.deals = None
59
+ self.deal_key = None
60
+ self.mg = None
61
+ self.bind(mg)
62
+ def bind(self, mg):
63
+ if self.mg==mg:
64
+ return self
65
+ self.mg = mg
66
+ self.confs = mg.confs
67
+ self.deals = mg.deals
68
+ self.deal_key = mg.deal_key
69
+ return self
70
+ def make(self, key, ns=None, id = None):
71
+ conf, cid, keys, ctag, cfind = self.confs.get(key, ns, id)
72
+ if not cfind:
73
+ return 0,0,0,0,0
74
+ conf, deal_ns = conf
75
+ encape, conf, upd = self.make_conf(conf, deal_ns, id, cid)
76
+ if cid in self.objs:
77
+ obj = self.objs[id]
78
+ if ns != obj.ns:
79
+ ids_ns = self.ids(obj.ns)
80
+ keys_ns = keys[:len(ids_ns)]
81
+ assert ids_ns == keys_ns, f"{ids_ns}!={keys_ns}"
82
+ keys = keys[len(ids_ns):]
83
+ key = self.ids.id(keys)
84
+ self.objs[cid].set(key, encape, ctag)
85
+ if upd:
86
+ self.confs.objs[cid].set(key, conf, ctag)
87
+ else:
88
+ self.set(key, encape, ns, ctag)
89
+ return encape, cid, keys, ctag, 1
90
+ def make_conf(self, conf, deal_ns=None, id=None,cid=None):
91
+ deal_key = self.deal_key(conf)
92
+ deal, dtag, dfind = self.deals.tget(deal_key, deal_ns, id)
93
+ assert dfind
94
+ unit = self.mg.get_unit(cid)
95
+ encape, conf, upd = deal(conf, unit)
96
+ return encape, conf, upd
97
+ def get(self, key, ns=None, id=None):
98
+ if Confs.is_conf(key):
99
+ encape, conf, upd = self.make_conf(key, None, id)
100
+ return encape, None, None, Datas.Key.Pub, 1
101
+ obj, eid, keys, tag, find = super().get(key, ns, id)
102
+ if find:
103
+ return obj, eid, keys, tag, find
104
+ return self.make(key, ns, id)
105
+
106
+
@@ -1,5 +1,5 @@
1
1
  from .base import Base, fcBase
2
- from buildz import xf,pyz
2
+ from ... import xf,pyz
3
3
  class EnvExp(Exception):
4
4
  def __init__(self, id):
5
5
  super().__init__(f"EnvExp id not found: '{id}'")
@@ -12,13 +12,12 @@ class Ids(Base):
12
12
  ids = ids[0]
13
13
  return self.spt.join(ids)
14
14
  def ids(self, id):
15
+ if id is None:
16
+ return []
15
17
  if type(id) in (list, tuple):
16
18
  return id
17
19
  return id.split(self.spt)
18
20
  def call(self, id):
19
21
  return self.ids(id)
20
- a = self.ids(a)
21
- b = self.ids(b)
22
- return self.id(a,b)
23
22
  pass
24
23
 
@@ -0,0 +1,4 @@
1
+ #
2
+ from .mg import Manager
3
+ from .unit import Unit
4
+ from .ids import Ids
@@ -0,0 +1,78 @@
1
+ #
2
+
3
+ from .base import *
4
+ from .encapes import Encapeset
5
+ from .dataset import Dataset
6
+ from ... import pyz,dz
7
+ from .ids import Ids
8
+ from .unit import Unit
9
+ from .builds import Buildset
10
+ class StrDealKey(Base):
11
+ def init(self, key):
12
+ self.key = key
13
+ def call(self, conf):
14
+ if self.key not in conf:
15
+ return None
16
+ return conf[self.key]
17
+
18
+ pass
19
+ class Manager(Base):
20
+ @staticmethod
21
+ def make_deal_key(deal_key):
22
+ if type(deal_key) == str:
23
+ deal_key = StrDealKey(deal_key)
24
+ return deal_key
25
+ @staticmethod
26
+ def make_ids(ids):
27
+ if type(ids)==str:
28
+ ids = Ids(ids)
29
+ return ids
30
+ def init(self, ids, deal_key, deal_ids = None):
31
+ self._index = 0
32
+ self.units = {}
33
+ self.builds = Buildset(self)
34
+ ids = self.make_ids(ids)
35
+ self.ids = ids
36
+ self.deal_key = self.make_deal_key(deal_key)
37
+ self.deal_ids = pyz.nnull(deal_ids, ids)
38
+ self.confs = Dataset(self.ids)
39
+ self.deals = Dataset(self.deal_ids)
40
+ self.encapes = Encapeset(self.ids, self)
41
+ self.default_unit = self.create()
42
+ def add_build(self, conf):
43
+ self.builds.add(conf)
44
+ def build(self):
45
+ self.builds.build()
46
+ def add(self, unit):
47
+ unit.bind(self)
48
+ self.units[unit.id] = unit
49
+ def create(self, ns=None, deal_ns = None, deal_key=None):
50
+ id = self.id()
51
+ 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)
54
+ unit.bind(self)
55
+ return unit
56
+ def get_unit(self, id):
57
+ if id not in self.units:
58
+ return self.default_unit
59
+ return self.units[id]
60
+ def id(self):
61
+ index = self._index
62
+ self._index+=1
63
+ return index
64
+ def get_deal(self, key, ns=None, id=None):
65
+ return self.deals.tget(key, ns, id)
66
+ def set_deal(self, key, deal, ns=None, tag=None, id=None):
67
+ self.deals.set(key, deal, ns, tag, id)
68
+ def get_conf(self, key, ns=None, id=None):
69
+ return self.confs.tget(key, ns, id)
70
+ def set_conf(self, key, conf, ns=None, tag=None, id=None):
71
+ self.confs.set(key, conf, ns, tag, id)
72
+ def get_encape(self, key, ns=None, id=None):
73
+ self.build()
74
+ return self.encapes.tget(key, ns, id)
75
+ def set_encape(self, key, encape, ns=None, tag=None, id=None):
76
+ self.encapes.set(key, encape, ns, tag, id)
77
+
78
+ pass
@@ -0,0 +1,56 @@
1
+ #
2
+ from ... import pyz,dz,Base
3
+
4
+ class Key:
5
+ default_param_key = 'single_id'
6
+ i_multi = 0
7
+ i_single = 1
8
+ i_param = 2
9
+ multi='multi'
10
+ single='single'
11
+ param='param'
12
+ str2int = {
13
+ multi:i_multi,
14
+ single: i_single,
15
+ param: i_param
16
+ }
17
+ @staticmethod
18
+ def s2i(key=None):
19
+ if key is None:
20
+ key = Key.i_single
21
+ if key in Key.str2int:
22
+ key = Key.str2int[key]
23
+ return key
24
+ class Single(Base):
25
+ Key = Key
26
+ def init(self, single=None, param_key = None):
27
+ if param_key is None:
28
+ param_key = Key.default_param_key
29
+ self.single = Key.s2i(single)
30
+ self.objs = {}
31
+ self.param_key = param_key
32
+ def get_key(self, params):
33
+ if self.single == Key.i_multi:
34
+ return 0,0
35
+ elif self.single == Key.i_single:
36
+ key = None
37
+ elif self.single == Key.i_param:
38
+ if params is None:
39
+ key = None
40
+ else:
41
+ key = params.get(self.param_key)
42
+ else:
43
+ assert 0
44
+ return key,1
45
+ def set(self, params, obj):
46
+ key, find = self.get_key(params)
47
+ if not find:
48
+ return
49
+ self.objs[key] = obj
50
+ def get(self, params):
51
+ key, find = self.get_key(params)
52
+ if not find:
53
+ return 0,0
54
+ if key not in self.objs:
55
+ return 0,0
56
+ return self.objs[key],1
@@ -1,29 +1,34 @@
1
1
  #
2
- from .tdict import TDict
3
- from buildz import pyz, dz
2
+ from .tdict import TagDict
3
+ from ... import pyz, dz
4
4
  class Key:
5
5
  Pub = "pub"
6
6
  Pri = "pri"
7
7
  Ns = "ns"
8
- tags_ns = "ns,pub".split(",")
9
- tags_pub = ['pub']
8
+ tags_ns = [Ns,Pub]
9
+ tags_pub = [Pub]
10
10
  tags_pri = None
11
11
  pass
12
- class TData(TDict):
12
+ class TagData(TagDict):
13
13
  '''
14
14
  分成三个域,公共pub,私有pri和同域名ns
15
+ 设置访问规则
15
16
  不同域名只能访问pub数据
16
17
  同域名访问pub和ns
17
18
  同一个配置文件内(同一个id)访问pub,ns和pri
18
19
  '''
19
- def init(self, id=None, ns=None):
20
+ Key = Key
21
+ def init(self, ns=None, id=None):
20
22
  self.ns = ns
21
23
  self.id = id
22
24
  super().init(Key.Pub)
25
+ def set_id(self, id):
26
+ self.id = id
23
27
  def call(self, *a,**b):
24
28
  return self.tget(*a,**b)
25
- def nsid(self, src, id):
26
- if isinstance(src, TData):
29
+ @staticmethod
30
+ def nsid(src, id):
31
+ if isinstance(src, TagData):
27
32
  ns = src.ns
28
33
  id = src.id
29
34
  else:
@@ -1,6 +1,6 @@
1
1
  #
2
- from buildz import pyz,dz,Base
3
- class TDict(Base):
2
+ from ... import pyz,dz,Base
3
+ class TagDict(Base):
4
4
  def remove(self, key, tag=None):
5
5
  tag = pyz.nnull(tag, self.default)
6
6
  rst = dz.get_set(self.maps, tag, dict())
@@ -20,11 +20,13 @@ class TDict(Base):
20
20
  rst = self.maps[tag]
21
21
  val, has = dz.dget(rst, key)
22
22
  if has:
23
- return val, 1
24
- return None,0
25
- def __getattr__(self, tag):
23
+ return val, tag, 1
24
+ return None, None, 0
25
+ def tag(self, tag):
26
26
  rst = dz.get_set(self.maps, tag, dict())
27
27
  return rst
28
+ def __getattr__(self, tag):
29
+ return self.tag(tag)
28
30
  def init(self, default=""):
29
31
  self.maps = {}
30
32
  self.default=default
@@ -0,0 +1,37 @@
1
+
2
+ from buildz.iocz.ioc import *
3
+ from buildz.iocz.ioc_deal import obj
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
+ def test():
11
+ conf = xf.loads(r"""
12
+ type=obj
13
+ source=buildz.iocz.ioc.test.Test
14
+ single=0
15
+ args=[
16
+ {
17
+ type=obj
18
+ source = buildz.iocz.ioc.test.Test
19
+ maps={id=123}
20
+ }
21
+ ]
22
+ """)
23
+ mg = Manager('.', 'type')
24
+ print(mg)
25
+ unit = mg.create()
26
+ print(unit)
27
+ deal_obj = obj.ObjectDeal()
28
+ mg.set_deal('obj', deal_obj)
29
+ unit.set_conf("test",conf)
30
+ encape, tag, find = mg.get_encape("test")
31
+ print(f"encape: {encape}")
32
+ it = encape()
33
+ print(f"obj: {id(it), id(it.id),it.id.id}")
34
+ it = encape()
35
+ print(f"obj: {id(it), id(it.id),it.id.id}")
36
+
37
+ pyz.lc(locals(), test)
@@ -0,0 +1,36 @@
1
+
2
+ from buildz import ioc
3
+
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
+ def test():
11
+ conf = xf.loads(r"""
12
+ [
13
+ {
14
+ id=test
15
+ type=obj
16
+ source=buildz.iocz.ioc.test.Test
17
+ single=0
18
+ args=[
19
+ {
20
+ type=obj
21
+ source = buildz.iocz.ioc.test.Test
22
+ maps={id=123}
23
+ }
24
+ ]
25
+ }
26
+ ]
27
+ """)
28
+ mg = ioc.build()
29
+ mg.add(conf)
30
+ print(mg)
31
+ it = mg.get("test")
32
+ print(f"obj: {id(it), id(it.id),it.id.id}")
33
+ it = mg.get("test")
34
+ print(f"obj: {id(it), id(it.id),it.id.id}")
35
+
36
+ pyz.lc(locals(), test)