buildz 0.6.46__tar.gz → 0.6.48__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 (304) hide show
  1. {buildz-0.6.46/buildz.egg-info → buildz-0.6.48}/PKG-INFO +1 -1
  2. buildz-0.6.48/buildz/dz/__init__.py +3 -0
  3. buildz-0.6.48/buildz/dz/mapz.py +323 -0
  4. buildz-0.6.48/buildz/iocz/ioc/base.py +14 -0
  5. buildz-0.6.48/buildz/iocz/ioc/bind.py +14 -0
  6. buildz-0.6.48/buildz/iocz/ioc/datas.py +23 -0
  7. buildz-0.6.48/buildz/iocz/ioc/dataset.py +35 -0
  8. buildz-0.6.48/buildz/iocz/ioc/deals.py +14 -0
  9. buildz-0.6.48/buildz/iocz/ioc/dm.py +28 -0
  10. buildz-0.6.48/buildz/iocz/ioc/encapes.py +26 -0
  11. buildz-0.6.48/buildz/iocz/ioc/envm.py +2 -0
  12. {buildz-0.6.46 → buildz-0.6.48}/buildz/iocz/ioc/ids.py +2 -1
  13. buildz-0.6.48/buildz/iocz/ioc/tdata.py +42 -0
  14. buildz-0.6.48/buildz/iocz/ioc/tdict.py +32 -0
  15. buildz-0.6.48/buildz/iocz/ioc/unit.py +26 -0
  16. buildz-0.6.48/buildz/iocz/ioc_deal/obj.py +79 -0
  17. {buildz-0.6.46 → buildz-0.6.48}/buildz/logz.py +20 -2
  18. buildz-0.6.48/buildz/netz/__init__.py +0 -0
  19. buildz-0.6.48/buildz/netz/mhttp/__init__.py +5 -0
  20. buildz-0.6.48/buildz/netz/mhttp/caps.py +138 -0
  21. buildz-0.6.48/buildz/netz/mhttp/mhttp.py +245 -0
  22. buildz-0.6.48/buildz/netz/mhttp/proxy.py +161 -0
  23. buildz-0.6.48/buildz/netz/mhttp/record.py +90 -0
  24. buildz-0.6.48/buildz/netz/sslz/__init__.py +2 -0
  25. buildz-0.6.48/buildz/netz/sslz/gen.py +392 -0
  26. buildz-0.6.48/buildz/netz/sslz/gen.pyi +54 -0
  27. buildz-0.6.48/buildz/netz/test/__main__.py +2 -0
  28. buildz-0.6.48/buildz/netz/test/test.py +70 -0
  29. buildz-0.6.48/buildz/netz/test/test_cli.py +43 -0
  30. {buildz-0.6.46 → buildz-0.6.48/buildz.egg-info}/PKG-INFO +1 -1
  31. {buildz-0.6.46 → buildz-0.6.48}/buildz.egg-info/SOURCES.txt +25 -0
  32. {buildz-0.6.46 → buildz-0.6.48}/setup.py +1 -1
  33. buildz-0.6.46/buildz/iocz/ioc/base.py +0 -5
  34. {buildz-0.6.46 → buildz-0.6.48}/LICENSE +0 -0
  35. {buildz-0.6.46 → buildz-0.6.48}/MANIFEST.in +0 -0
  36. {buildz-0.6.46 → buildz-0.6.48}/README.md +0 -0
  37. {buildz-0.6.46 → buildz-0.6.48}/buildz/__init__.py +0 -0
  38. {buildz-0.6.46 → buildz-0.6.48}/buildz/__main__.py +0 -0
  39. {buildz-0.6.46 → buildz-0.6.48}/buildz/argx.py +0 -0
  40. {buildz-0.6.46 → buildz-0.6.48}/buildz/argz/__init__.py +0 -0
  41. {buildz-0.6.46 → buildz-0.6.48}/buildz/argz/argz.py +0 -0
  42. {buildz-0.6.46 → buildz-0.6.48}/buildz/argz/build.py +0 -0
  43. {buildz-0.6.46 → buildz-0.6.48}/buildz/argz/callz.py +0 -0
  44. {buildz-0.6.46 → buildz-0.6.48}/buildz/argz/evalx.py +0 -0
  45. {buildz-0.6.46 → buildz-0.6.48}/buildz/argz/test.py +0 -0
  46. {buildz-0.6.46 → buildz-0.6.48}/buildz/argz/test_obj.py +0 -0
  47. {buildz-0.6.46 → buildz-0.6.48}/buildz/argz/tests/conf.js +0 -0
  48. {buildz-0.6.46 → buildz-0.6.48}/buildz/argz/testx.py +0 -0
  49. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/__init__.py +0 -0
  50. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/cache.py +0 -0
  51. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/config.py +0 -0
  52. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/dbs.py +0 -0
  53. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/deal.py +0 -0
  54. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/deal_list.py +0 -0
  55. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/deal_type.py +0 -0
  56. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/defs.py +0 -0
  57. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/factory.py +0 -0
  58. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/init.py +0 -0
  59. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/log.py +0 -0
  60. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/request.py +0 -0
  61. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/run.py +0 -0
  62. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/save.py +0 -0
  63. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/test/res/cache/cache.js +0 -0
  64. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/test/res/config/base.js +0 -0
  65. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/test/res/config/config.js +0 -0
  66. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/test/res/data/fp.js +0 -0
  67. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/test/res/data/item1.js +0 -0
  68. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/test/res/data/item2.js +0 -0
  69. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/test/res/data/test.js +0 -0
  70. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/test/test.py +0 -0
  71. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/test/xtest.py +0 -0
  72. {buildz-0.6.46 → buildz-0.6.48}/buildz/auto/verify.py +0 -0
  73. {buildz-0.6.46 → buildz-0.6.48}/buildz/base.py +0 -0
  74. {buildz-0.6.46 → buildz-0.6.48}/buildz/cachez/__init__.py +0 -0
  75. {buildz-0.6.46 → buildz-0.6.48}/buildz/cachez/cache.py +0 -0
  76. {buildz-0.6.46 → buildz-0.6.48}/buildz/cmd.py +0 -0
  77. {buildz-0.6.46 → buildz-0.6.48}/buildz/confz.py +0 -0
  78. {buildz-0.6.46 → buildz-0.6.48}/buildz/db/__init__.py +0 -0
  79. {buildz-0.6.46 → buildz-0.6.48}/buildz/db/__main__.py +0 -0
  80. {buildz-0.6.46 → buildz-0.6.48}/buildz/db/dv/__init__.py +0 -0
  81. {buildz-0.6.46 → buildz-0.6.48}/buildz/db/dv/basez.py +0 -0
  82. {buildz-0.6.46 → buildz-0.6.48}/buildz/db/dv/clickhousez.py +0 -0
  83. {buildz-0.6.46 → buildz-0.6.48}/buildz/db/dv/lib/readme +0 -0
  84. {buildz-0.6.46 → buildz-0.6.48}/buildz/db/dv/mysqlz.py +0 -0
  85. {buildz-0.6.46 → buildz-0.6.48}/buildz/db/dv/oraclez.py +0 -0
  86. {buildz-0.6.46 → buildz-0.6.48}/buildz/db/dv/orm.py +0 -0
  87. {buildz-0.6.46 → buildz-0.6.48}/buildz/db/dv/postgresqlz.py +0 -0
  88. {buildz-0.6.46 → buildz-0.6.48}/buildz/db/dv/sqlite3z.py +0 -0
  89. {buildz-0.6.46 → buildz-0.6.48}/buildz/db/dv/structz.py +0 -0
  90. {buildz-0.6.46 → buildz-0.6.48}/buildz/db/install.txt +0 -0
  91. {buildz-0.6.46 → buildz-0.6.48}/buildz/db/run.conf +0 -0
  92. {buildz-0.6.46 → buildz-0.6.48}/buildz/db/runz.py +0 -0
  93. {buildz-0.6.46 → buildz-0.6.48}/buildz/db/tls.py +0 -0
  94. {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/ioc/deal.py +0 -0
  95. {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/ioc/help.py +0 -0
  96. {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/myers/deal.py +0 -0
  97. {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/myers/help.py +0 -0
  98. {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/conf/ioc.js +0 -0
  99. {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/conf/main.js +0 -0
  100. {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/conf/myers.js +0 -0
  101. {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/conf/search.js +0 -0
  102. {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/conf/xf.js +0 -0
  103. {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/help/default.js +0 -0
  104. {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/help/ioc.js +0 -0
  105. {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/help/myers.js +0 -0
  106. {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/help/search.js +0 -0
  107. {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/help/xf.js +0 -0
  108. {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/res/test.js +0 -0
  109. {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/search/deal.py +0 -0
  110. {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/search/help.py +0 -0
  111. {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/test.py +0 -0
  112. {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/xf/deal.py +0 -0
  113. {buildz-0.6.46 → buildz-0.6.48}/buildz/demo/xf/help.py +0 -0
  114. {buildz-0.6.46 → buildz-0.6.48}/buildz/evalz/__init__.py +0 -0
  115. {buildz-0.6.46 → buildz-0.6.48}/buildz/evalz/evalz.py +0 -0
  116. {buildz-0.6.46 → buildz-0.6.48}/buildz/evalz/res/default.js +0 -0
  117. {buildz-0.6.46 → buildz-0.6.48}/buildz/evalz/test.py +0 -0
  118. {buildz-0.6.46 → buildz-0.6.48}/buildz/fz/__init__.py +0 -0
  119. {buildz-0.6.46 → buildz-0.6.48}/buildz/fz/dirz.py +0 -0
  120. {buildz-0.6.46 → buildz-0.6.48}/buildz/fz/fhs.py +0 -0
  121. {buildz-0.6.46 → buildz-0.6.48}/buildz/fz/fio.py +0 -0
  122. {buildz-0.6.46 → buildz-0.6.48}/buildz/fz/lsf.py +0 -0
  123. {buildz-0.6.46 → buildz-0.6.48}/buildz/html/__init__.py +0 -0
  124. {buildz-0.6.46 → buildz-0.6.48}/buildz/html/test/demo.html +0 -0
  125. {buildz-0.6.46 → buildz-0.6.48}/buildz/html/test/test.py +0 -0
  126. {buildz-0.6.46 → buildz-0.6.48}/buildz/html/xml.py +0 -0
  127. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/__init__.py +0 -0
  128. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/base.py +0 -0
  129. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/init.py +0 -0
  130. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc/base.py +0 -0
  131. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc/conf.py +0 -0
  132. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc/confs.py +0 -0
  133. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc/decorator.py +0 -0
  134. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc/loads.py +0 -0
  135. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc/single.py +0 -0
  136. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/base.py +0 -0
  137. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/branch.py +0 -0
  138. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/call.py +0 -0
  139. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/calls.py +0 -0
  140. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/branch_lists.js +0 -0
  141. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
  142. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
  143. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
  144. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/calls_lists.js +0 -0
  145. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/deal_lists.js +0 -0
  146. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/deals.js +0 -0
  147. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
  148. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/ioc_lists.js +0 -0
  149. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/iocf_lists.js +0 -0
  150. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/join_lists.js +0 -0
  151. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/list_lists.js +0 -0
  152. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/map_lists.js +0 -0
  153. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
  154. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
  155. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
  156. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
  157. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
  158. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
  159. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
  160. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/ref_lists.js +0 -0
  161. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/refs_lists.js +0 -0
  162. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
  163. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/xfile_defaults.js +0 -0
  164. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/conf/xfile_lists.js +0 -0
  165. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/deal.py +0 -0
  166. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/demo.py +0 -0
  167. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/env.py +0 -0
  168. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/init.py +0 -0
  169. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/ioc.py +0 -0
  170. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/iocf.py +0 -0
  171. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/join.py +0 -0
  172. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/list.py +0 -0
  173. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/map.py +0 -0
  174. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/mcall.py +0 -0
  175. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/obj.py +0 -0
  176. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/ovar.py +0 -0
  177. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/ref.py +0 -0
  178. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/refs.py +0 -0
  179. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/val.py +0 -0
  180. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/var.py +0 -0
  181. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/ioc_deal/xfile.py +0 -0
  182. {buildz-0.6.46 → buildz-0.6.48}/buildz/ioc/wrap.py +0 -0
  183. {buildz-0.6.46 → buildz-0.6.48}/buildz/iocz/base.py +0 -0
  184. {buildz-0.6.46 → buildz-0.6.48}/buildz/iocz/ioc/confs.py +0 -0
  185. {buildz-0.6.46 → buildz-0.6.48}/buildz/iocz/ioc/env.py +0 -0
  186. {buildz-0.6.46 → buildz-0.6.48}/buildz/pathz.py +0 -0
  187. {buildz-0.6.46 → buildz-0.6.48}/buildz/pyz.py +0 -0
  188. {buildz-0.6.46 → buildz-0.6.48}/buildz/tools.py +0 -0
  189. {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/__init__.py +0 -0
  190. {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/myers_diff.py +0 -0
  191. {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/test_xfind.py +0 -0
  192. {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/time/__init__.py +0 -0
  193. {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/time/timez.py +0 -0
  194. {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/tio/__init__.py +0 -0
  195. {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/tio/base.py +0 -0
  196. {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/tio/getch.py +0 -0
  197. {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/tio/lx.py +0 -0
  198. {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/tio/test.py +0 -0
  199. {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/tio/win.py +0 -0
  200. {buildz-0.6.46 → buildz-0.6.48}/buildz/tz/xfind.py +0 -0
  201. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/__init__.py +0 -0
  202. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/__main__.py +0 -0
  203. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/base.py +0 -0
  204. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/code.py +0 -0
  205. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/code_modify.py +0 -0
  206. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/copy_old.py +0 -0
  207. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/file.py +0 -0
  208. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/base.py +0 -0
  209. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/buffer.py +0 -0
  210. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/deal/listz.py +0 -0
  211. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/deal/lr.py +0 -0
  212. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/deal/lrval.py +0 -0
  213. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/deal/mapz.py +0 -0
  214. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/deal/nextz.py +0 -0
  215. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/deal/reval.py +0 -0
  216. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/deal/setz.py +0 -0
  217. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/deal/spc.py +0 -0
  218. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/deal/spt.py +0 -0
  219. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/deal/strz.py +0 -0
  220. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/exp.py +0 -0
  221. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/item.py +0 -0
  222. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/mg.py +0 -0
  223. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loader/pos.py +0 -0
  224. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/base.py +0 -0
  225. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/buffer.py +0 -0
  226. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/listmapz.py +0 -0
  227. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/listz.py +0 -0
  228. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/lr.py +0 -0
  229. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/lrval.py +0 -0
  230. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/mapz.py +0 -0
  231. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/nextz.py +0 -0
  232. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/reval.py +0 -0
  233. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/setz.py +0 -0
  234. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/spc.py +0 -0
  235. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/spt.py +0 -0
  236. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/strz.py +0 -0
  237. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/strz_new.py +0 -0
  238. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/deal/strz_old.py +0 -0
  239. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/exp.py +0 -0
  240. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/item.py +0 -0
  241. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/mg.py +0 -0
  242. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/pos.py +0 -0
  243. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/test.py +0 -0
  244. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz/test1.py +0 -0
  245. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/base.py +0 -0
  246. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/buffer.py +0 -0
  247. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/listmapz.py +0 -0
  248. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/listz.py +0 -0
  249. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/lr.py +0 -0
  250. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/lrval.py +0 -0
  251. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/mapz.py +0 -0
  252. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/nextz.py +0 -0
  253. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/reval.py +0 -0
  254. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/setz.py +0 -0
  255. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/spc.py +0 -0
  256. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/spt.py +0 -0
  257. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/strz.py +0 -0
  258. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/strz_new.py +0 -0
  259. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/deal/strz_old.py +0 -0
  260. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/exp.py +0 -0
  261. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/item.py +0 -0
  262. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/mg.py +0 -0
  263. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/pos.py +0 -0
  264. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/test.py +0 -0
  265. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/loaderz_nexp/test1.py +0 -0
  266. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/mapz.py +0 -0
  267. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/read.py +0 -0
  268. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/readz.py +0 -0
  269. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/readz_nexp.py +0 -0
  270. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/stack.py +0 -0
  271. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/write.py +0 -0
  272. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writer/base.py +0 -0
  273. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writer/conf.py +0 -0
  274. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writer/deal/jsonval.py +0 -0
  275. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writer/deal/listmapz.py +0 -0
  276. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writer/deal/listz.py +0 -0
  277. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writer/deal/mapz.py +0 -0
  278. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writer/deal/reval.py +0 -0
  279. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writer/deal/strz.py +0 -0
  280. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writer/itemz.py +0 -0
  281. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writer/mg.py +0 -0
  282. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/base.py +0 -0
  283. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/conf.py +0 -0
  284. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/deal/jsonval.py +0 -0
  285. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/deal/listmapz.py +0 -0
  286. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/deal/listz.py +0 -0
  287. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/deal/mapz.py +0 -0
  288. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/deal/reval.py +0 -0
  289. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/deal/strz.py +0 -0
  290. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/itemz.py +0 -0
  291. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/mg.py +0 -0
  292. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/test.py +0 -0
  293. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writerz/testx.py +0 -0
  294. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/writez.py +0 -0
  295. {buildz-0.6.46 → buildz-0.6.48}/buildz/xf/xargs.py +0 -0
  296. {buildz-0.6.46 → buildz-0.6.48}/buildz/xz/__init__.py +0 -0
  297. {buildz-0.6.46 → buildz-0.6.48}/buildz/xz/conf.js +0 -0
  298. {buildz-0.6.46 → buildz-0.6.48}/buildz/xz/data.js +0 -0
  299. {buildz-0.6.46 → buildz-0.6.48}/buildz/xz/test.py +0 -0
  300. {buildz-0.6.46 → buildz-0.6.48}/buildz/xz/trs.py +0 -0
  301. {buildz-0.6.46 → buildz-0.6.48}/buildz.egg-info/dependency_links.txt +0 -0
  302. {buildz-0.6.46 → buildz-0.6.48}/buildz.egg-info/top_level.txt +0 -0
  303. {buildz-0.6.46 → buildz-0.6.48}/notes/notes.txt +0 -0
  304. {buildz-0.6.46 → buildz-0.6.48}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: buildz
3
- Version: 0.6.46
3
+ Version: 0.6.48
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,3 @@
1
+ #
2
+
3
+ from .mapz import *
@@ -0,0 +1,323 @@
1
+ from buildz import pyz
2
+ def get(obj, key, default=None, set = False):
3
+ if type(obj)==list:
4
+ key = int(key)
5
+ if len(obj)<=key:
6
+ return default
7
+ return obj[key]
8
+ else:
9
+ if key not in obj:
10
+ if set:
11
+ obj[key] = default
12
+ return default
13
+ return obj[key]
14
+
15
+ pass
16
+ def getf(obj, key, fc):
17
+ if key not in obj:
18
+ return fc()
19
+ return obj[key]
20
+
21
+ pass
22
+ def gfn(obj, **maps):
23
+ rst = []
24
+ for k in maps:
25
+ if k in obj and obj[k] is not None:
26
+ v = obj[k]
27
+ else:
28
+ v = maps[k]()
29
+ rst.append(v)
30
+ if len(rst)==1:
31
+ rst = rst[0]
32
+ return rst
33
+
34
+ pass
35
+ def gf(obj, **maps):
36
+ rst = []
37
+ for k in maps:
38
+ if k in obj:
39
+ v = obj[k]
40
+ else:
41
+ v = maps[k]()
42
+ rst.append(v)
43
+ if len(rst)==1:
44
+ rst = rst[0]
45
+ return rst
46
+
47
+ pass
48
+ def get_first(obj, *keys):
49
+ for k in keys:
50
+ if k in obj:
51
+ return obj[k]
52
+ raise KeyError(keys[0])
53
+
54
+ pass
55
+ def get_one(obj, keys, default = None):
56
+ for k in keys:
57
+ if k in obj:
58
+ return obj[k]
59
+ return default
60
+
61
+ pass
62
+ def g1(obj, **maps):
63
+ v = None
64
+ for k in maps:
65
+ v = maps[k]
66
+ if k in obj:
67
+ v = obj[k]
68
+ return v
69
+ return v
70
+
71
+ pass
72
+ def g(obj, **maps):
73
+ rst = []
74
+ if obj is None:
75
+ return maps.values()
76
+ for k in maps:
77
+ v = maps[k]
78
+ if k in obj:
79
+ v = obj[k]
80
+ rst.append(v)
81
+ if len(rst)==1:
82
+ rst = rst[0]
83
+ return rst
84
+
85
+ pass
86
+ def c(obj, **maps):
87
+ for k in maps:
88
+ v = maps[k]
89
+ if k not in obj:
90
+ return False
91
+ vo = obj[k]
92
+ if vo!=v:
93
+ return False
94
+ return True
95
+ def gs(obj, **maps):
96
+ rst = []
97
+ for k in maps:
98
+ v = maps[k]
99
+ if k in obj:
100
+ v = obj[k]
101
+ else:
102
+ obj[k] = v
103
+ rst.append(v)
104
+ if len(rst)==1:
105
+ rst = rst[0]
106
+ return rst
107
+
108
+ pass
109
+ def get_set(obj, key, val):
110
+ if key not in obj:
111
+ obj[key]=val
112
+ return obj[key]
113
+ def s(obj, **maps):
114
+ for k in maps:
115
+ v = maps[k]
116
+ obj[k] = v
117
+
118
+ pass
119
+ def fill_fc(maps, fc):
120
+ for k in maps:
121
+ v = maps[k]
122
+ if type(v) == dict:
123
+ fill_fc(v, fc)
124
+ continue
125
+ maps[k] = fc(v)
126
+ return maps
127
+
128
+ pass
129
+ def im2l(maps):
130
+ if type(maps)!=dict:
131
+ return maps
132
+ mx = 0
133
+ for k in maps:
134
+ if type(k)==str:
135
+ k = int(k)
136
+ if type(k)!=int or k<0:
137
+ raise Exception(f"args key only can be int and bigger than 0, but {type(k)}:{k} found")
138
+ mx = max(k+1, mx)
139
+ arr = [None]*mx
140
+ for k, v in maps.items():
141
+ arr[k] = v
142
+ return arr
143
+
144
+ pass
145
+
146
+ def dset(maps, keys, val):
147
+ if type(keys) not in (list,tuple):
148
+ keys = [keys]
149
+ for key in keys[:-1]:
150
+ if type(maps)==dict:
151
+ if key not in maps:
152
+ maps[key] = {}
153
+ else:
154
+ key = int(key)
155
+ maps = maps[key]
156
+ maps[keys[-1]] = val
157
+
158
+ pass
159
+ def dhas(maps, keys):
160
+ if type(keys) not in (list,tuple):
161
+ keys = [keys]
162
+ for key in keys:
163
+ if type(maps)==dict:
164
+ if key not in maps:
165
+ return False
166
+ else:
167
+ key = int(key)
168
+ if key>=len(maps):
169
+ return default
170
+ maps = maps[key]
171
+ return True
172
+
173
+ pass
174
+
175
+ def dget(maps, keys):
176
+ if type(keys) not in (list,tuple):
177
+ keys = [keys]
178
+ for key in keys:
179
+ find = 1
180
+ if type(maps)==dict:
181
+ find = key in maps
182
+ elif type(maps) in (list, tuple):
183
+ try:
184
+ key = int(key)
185
+ except:
186
+ key = len(maps)
187
+ find = key<len(maps)
188
+ else:
189
+ find = False
190
+ if not find:
191
+ return None,0
192
+ maps = maps[key]
193
+ return maps,1
194
+
195
+ pass
196
+ def dremove(maps, keys):
197
+ if type(keys) not in (list,tuple):
198
+ keys = [keys]
199
+ arr = []
200
+ for key in keys:
201
+ if key not in maps:
202
+ break
203
+ arr.append([maps, key])
204
+ maps = maps[key]
205
+ arr.reverse()
206
+ first=1
207
+ for maps,key in arr:
208
+ if first or len(maps[key])==0:
209
+ del maps[key]
210
+ first=0
211
+ return None
212
+
213
+ pass
214
+
215
+ def dhget(maps, keys):
216
+ if type(keys) not in (list,tuple):
217
+ keys = [keys]
218
+ for key in keys:
219
+ find = 1
220
+ if type(maps)==dict:
221
+ find = key in maps
222
+ elif type(maps) in (list, tuple):
223
+ try:
224
+ key = int(key)
225
+ except:
226
+ key = len(maps)
227
+ find = key<len(maps)
228
+ else:
229
+ find = False
230
+ if not find:
231
+ return None, find
232
+ maps = maps[key]
233
+ return maps, True
234
+
235
+ pass
236
+ def l2m(arr, **maps):
237
+ rst = {}
238
+ i = 0
239
+ for k in maps:
240
+ if i<len(arr):
241
+ val = arr[i]
242
+ else:
243
+ val = maps[k]
244
+ rst[k] = val
245
+ i+=1
246
+ return rst
247
+
248
+ pass
249
+
250
+ def deep_update(target, src, replace=1):
251
+ """
252
+ dict深层更新,src[key]是dict就深入更新,否则:
253
+ src有而target没有就替换,否则:
254
+ replace=1就替换
255
+ """
256
+ for k in src:
257
+ val = src[k]
258
+ if k not in target:
259
+ target[k] = val
260
+ continue
261
+ mval = target[k]
262
+ if type(mval) == dict and type(val)==dict:
263
+ deep_update(mval, val, replace)
264
+ else:
265
+ if replace:
266
+ target[k] = val
267
+
268
+ pass
269
+ update = deep_update
270
+ def deep_fill(src, target, replace=1):
271
+ return deep_update(target, src, replace)
272
+
273
+ pass
274
+ def deep_clone(obj):
275
+ if type(obj)==list:
276
+ rst = []
277
+ for it in obj:
278
+ rst.append(deep_clone(it))
279
+ elif type(obj)==dict:
280
+ rst = {}
281
+ for k,v in obj.items():
282
+ rst[k] = deep_clone(v)
283
+ else:
284
+ rst = obj
285
+ return rst
286
+ pass
287
+ fill=deep_fill
288
+
289
+ def maps(**kv):
290
+ return kv
291
+
292
+ pass
293
+
294
+ def flush_maps(maps, fc_key = lambda x:x.split(".") if type(x)==str else [x], visit_list=False):
295
+ if type(maps)==list:
296
+ if not visit_list:
297
+ return maps
298
+ rst = [flush_maps(it, fc_key, visit_list) for it in maps]
299
+ return rst
300
+ if type(maps)!=dict:
301
+ return maps
302
+ rst = {}
303
+ for k,v in maps.items():
304
+ ks = fc_key(k)
305
+ v = flush_maps(v, fc_key, visit_list)
306
+ sets(rst, ks, v)
307
+ return rst
308
+
309
+ pass
310
+ def unflush_maps_item(rst, keys, val, fc_key):
311
+ if type(val)!=dict:
312
+ key = fc_key(keys)
313
+ rst[key] = val
314
+ return
315
+ for k, v in val.items():
316
+ unflush_maps_item(rst, keys+[k], v, fc_key)
317
+ def unflush_maps(maps, fc_key = lambda x:".".join([str(k) for k in x]) if type(x) in (list, tuple) else str(x)):
318
+ if type(maps)!=dict:
319
+ return maps
320
+ rst = {}
321
+ for k,v in maps.items():
322
+ unflush_maps_item(rst, [k], v, fc_key)
323
+ return rst
@@ -0,0 +1,14 @@
1
+ from ..base import *
2
+ basepath = path
3
+ path = pathz.Path()
4
+ path.set("conf", basepath.local("ioc/conf"), curr=0)
5
+
6
+ class Creater(Base):
7
+ def init(self):
8
+ self.mg = None
9
+ def bind(self, mg):
10
+ self.mg = mg
11
+ def call(self, *a, **b):
12
+ return None
13
+
14
+ pass
@@ -0,0 +1,14 @@
1
+ #
2
+ from buildz import Base
3
+
4
+ class Bind(Base):
5
+ def init(self):
6
+ self.mg = None
7
+ self.binds = []
8
+ def add_bind(self, fc):
9
+ self.binds.append(fc)
10
+ def bind(self, mg):
11
+ self.mg = mg
12
+ _ = [fc(mg) for fc in self.binds]
13
+
14
+ pass
@@ -0,0 +1,23 @@
1
+
2
+ from buildz import pyz, dz
3
+ from .tdata import TData
4
+ class Datas(TData):
5
+ def init(self, id=None, ns=None, dts=None):
6
+ super().init(id,ns)
7
+ self.dts = dts
8
+ def bind(self, dts):
9
+ self.dts = dts
10
+ def set(self, key, val, tag=None):
11
+ tag = pyz.nnull(tag, self.default)
12
+ super().set(key, val, tag)
13
+ if self.dts is not None:
14
+ if tag == Key.pub:
15
+ self.dts.set(key, val, self.ns)
16
+ elif tag == Key.ns:
17
+ self.dts.ns_set(key, val, self.ns)
18
+ def tget(self, key, src=None,id=None, gfind=True):
19
+ ns, id = self.nsid(src, id)
20
+ obj, find=super().tget(key, src, id)
21
+ if not find and gfind:
22
+ obj, find = self.dts.get(key, ns, id)
23
+ return obj, find
@@ -0,0 +1,35 @@
1
+ #
2
+
3
+ from .tdata import TData, TNData
4
+ from buildz import dz
5
+ class Dataset(Base):
6
+ def init(self, ids):
7
+ self.ids = ids
8
+ self.pub = {}
9
+ self.ns = {}
10
+ def set(self, key, val, ns=None):
11
+ keys = self.ids(ns)+self.ids(key)
12
+ dz.dset(self.pub, keys, val)
13
+ def ns_set(self, key, val, ns=None):
14
+ map = dz.get_set(self.ns, ns, dict())
15
+ map[key] = val
16
+ def add(self, data):
17
+ ns = data.ns
18
+ for key, val in data.pub.items():
19
+ self.set(key, val, ns)
20
+ for key, val in data.ns.items()
21
+ self.ns_set(key, val, ns)
22
+ data.bind(self)
23
+ def get(self, key, ns=None, id = None):
24
+ obj, find = self.ns_get(key,ns,id)
25
+ if not find:
26
+ obj,find=self.pub_get(key,ns,id)
27
+ return obj,find
28
+ def pub_get(self, key, ns=None, id=None):
29
+ ids = self.ids(ns)+self.ids(key)
30
+ return dz.dget(self.pub, ids)
31
+ def ns_get(self, key, ns=None, id=None):
32
+ map = dz.get_set(self.ns, ns, dict())
33
+ if key not in map:
34
+ return None, 0
35
+ return map[key], 1
@@ -0,0 +1,14 @@
1
+ #
2
+ from .tdata import TData
3
+ class Deals(TData):
4
+ def init(self, mg=None, id=None, ns=None):
5
+ self.mg = mg
6
+ super().init(id,ns)
7
+ def bind(self, mg):
8
+ self.mg = mg
9
+ def tget(self, key, src=None,id=None):
10
+ ns, id = self.nsid(src, id)
11
+ obj,find=super().tget(key, src, id)
12
+ if not find:
13
+ obj,find = self.mg.get_deal(key, src, id)
14
+ return obj, find
@@ -0,0 +1,28 @@
1
+ #
2
+
3
+ # type 1
4
+ confbd = ConfsBuilder()
5
+ confbd.add_build(EnvBuilder())
6
+ confsbd.add_build(DataBduiler())
7
+ confsbd.add_build(InitBuilder())
8
+ confsbd.add_build(VarBuilder())
9
+ confs = confsbd()
10
+
11
+ confbd = confsbd.build_conf()
12
+
13
+ conf = Conf()
14
+ conf.add_env()
15
+ conf.add_data()
16
+ conf.add_init()
17
+
18
+ confs.add_conf(conf)
19
+
20
+ # type2
21
+
22
+ mg = Manager()
23
+ mg.add("env", EnvBuilder())
24
+ mg.add("data", Data())
25
+
26
+ mg.data.add(id, Data())
27
+
28
+ mg.data.get()
@@ -0,0 +1,26 @@
1
+ #
2
+ from .tdata import TData
3
+ from .datas import Datas
4
+ from .dataset import Dataset
5
+ class Encpaes(Datas):
6
+ def init(self, confs, deals, id=None, ns=None, dts=None):
7
+ super().init(id, ns, dts)
8
+ def tget(self, key, src=None,id=None, gfind=True):
9
+ class Encapeset(Dataset):
10
+ '''
11
+ 生成对象前的中间层
12
+ '''
13
+ def init(self, ids, confs, deals):
14
+ super().init(ids)
15
+ self.confs = confs
16
+ self.deals = deals
17
+ def pub_get(self, key, ns=None, id=None):
18
+ obj, find = super().get(key, ns, id)
19
+
20
+ def ns_get(self, key, ns=None, deal_ns=None):
21
+ map = dz.get_set(self.ns, ns, dict())
22
+ if key not in map:
23
+ return None, 0
24
+ return map[key], 1
25
+
26
+
@@ -0,0 +1,2 @@
1
+ #
2
+
@@ -15,7 +15,8 @@ class Ids(Base):
15
15
  if type(id) in (list, tuple):
16
16
  return id
17
17
  return id.split(self.spt)
18
- def call(self, a,b):
18
+ def call(self, id):
19
+ return self.ids(id)
19
20
  a = self.ids(a)
20
21
  b = self.ids(b)
21
22
  return self.id(a,b)
@@ -0,0 +1,42 @@
1
+ #
2
+ from .tdict import TDict
3
+ from buildz import pyz, dz
4
+ class Key:
5
+ Pub = "pub"
6
+ Pri = "pri"
7
+ Ns = "ns"
8
+ tags_ns = "ns,pub".split(",")
9
+ tags_pub = ['pub']
10
+ tags_pri = None
11
+ pass
12
+ class TData(TDict):
13
+ '''
14
+ 分成三个域,公共pub,私有pri和同域名ns
15
+ 不同域名只能访问pub数据
16
+ 同域名访问pub和ns
17
+ 同一个配置文件内(同一个id)访问pub,ns和pri
18
+ '''
19
+ def init(self, id=None, ns=None):
20
+ self.ns = ns
21
+ self.id = id
22
+ super().init(Key.Pub)
23
+ def call(self, *a,**b):
24
+ return self.tget(*a,**b)
25
+ def nsid(self, src, id):
26
+ if isinstance(src, TData):
27
+ ns = src.ns
28
+ id = src.id
29
+ else:
30
+ ns = src
31
+ return ns, id
32
+ def tget(self, key, src=None, id=None):
33
+ ns, id = self.nsid(src, id)
34
+ if id == self.id:
35
+ tags = Key.tags_pri
36
+ elif ns == self.ns:
37
+ tags = Key.tags_ns
38
+ else:
39
+ tags = Key.tags_pub
40
+ return self.get(key, tags)
41
+
42
+ pass
@@ -0,0 +1,32 @@
1
+ #
2
+ from buildz import pyz,dz,Base
3
+ class TDict(Base):
4
+ def remove(self, key, tag=None):
5
+ tag = pyz.nnull(tag, self.default)
6
+ rst = dz.get_set(self.maps, tag, dict())
7
+ dz.dremove(rst, key)
8
+ def set(self, key, val, tag=None):
9
+ tag = pyz.nnull(tag, self.default)
10
+ rst = dz.get_set(self.maps, tag, dict())
11
+ dz.dset(rst, key, val)
12
+ def get(self, key, tags=None):
13
+ if tags is None:
14
+ tags = self.maps.keys()
15
+ elif type(tags) not in (list,tuple,set):
16
+ tags = [tags]
17
+ for tag in tags:
18
+ if tag not in self.maps:
19
+ continue
20
+ rst = self.maps[tag]
21
+ val, has = dz.dget(rst, key)
22
+ if has:
23
+ return val, 1
24
+ return None,0
25
+ def __getattr__(self, tag):
26
+ rst = dz.get_set(self.maps, tag, dict())
27
+ return rst
28
+ def init(self, default=""):
29
+ self.maps = {}
30
+ self.default=default
31
+
32
+ pass
@@ -0,0 +1,26 @@
1
+ #
2
+ from .tdata import TData, TNData
3
+ class Unit(Base):
4
+ def init(self, id=None, ns=None, deals=None):
5
+ self.id = id
6
+ self.ns = ns
7
+ self.confs = Datas(id, ns)
8
+ self.encapes = Datas(id, ns)
9
+ self.deals = deals
10
+ self.mg = None
11
+ def bind(self, mg):
12
+ self.mg = mg
13
+ self.confs.bind(mg.confs)
14
+ self.deals.bind(mg.deals)
15
+ def get_deal(self, key, src=None, id=None, gfind=True):
16
+ return self.deals.tget(key, src, id, gfind)
17
+ def get_conf(self, key, src=None, id=None, gfind=True):
18
+ return self.confs.tget(key, src, id, gfind)
19
+ def get_encape(self, key, src=None, id=None, gfind=True):
20
+ obj, find = self.encapes.tget(key, src, id)
21
+ if not find:
22
+ conf, cfind = self.get_conf(key, src, id, False)
23
+ if not cfind:
24
+ return None, 0
25
+
26
+ deal, dfind = self.get_deal(key, src, id)
@@ -0,0 +1,79 @@
1
+
2
+ from ..ioc.base import *
3
+ from buildz import dz
4
+ class ObjectType(Base):
5
+ Single=0
6
+ Multi=1
7
+ SingleVars=2
8
+
9
+ class ObjectCreater(Creater):
10
+ def init(self, obj_type = ObjectType.Single):
11
+ super().init()
12
+ self.obj_type = obj_type
13
+ self.args = []
14
+ self.maps = {}
15
+ self.sets = {}
16
+ self.before_set = None
17
+ self.after_set = None
18
+ self.before_remove = None
19
+ self.fc = None
20
+ self.single = Single()
21
+ def fills(self, params):
22
+ _a, _m, _s = dz.g(params, args=[], maps={}, sets={})
23
+ args = self.args
24
+ args = _a+args[len(_a):]
25
+ maps = dict(self.maps)
26
+ maps.update(_m)
27
+ sets = dict(self.sets)
28
+ sets.update(_s)
29
+ return args, maps, sets
30
+ def single_id(self, params):
31
+ def hash(self, params):
32
+ if self.obj_type == ObjectType.Single or self.obj_type == ObjectType.Multi:
33
+ return ""
34
+ _a, _m, _s = dz.g(params, args=[], maps={}, sets={})
35
+ args = self.args
36
+ args = _a+args[len(_a):]
37
+ maps = dict(self.maps)
38
+ maps.update(_m)
39
+ sets = dict(self.sets)
40
+ sets.update(_s)
41
+ args = [str(self.mg.hash(it)) for it in args]
42
+ maps = [str(k)+":"+self.mg.hash(val) for k,val in maps.items()]
43
+ sets = [str(k)+":"+self.mg.hash(val) for k,val in sets.items()]
44
+ args = ",".join(args)
45
+ maps = ",".join(maps)
46
+ sets = ",".join(sets)
47
+ val = [args, maps, self.mg.hash(self.before_set), sets, self.mg.hash(self.after_set)]
48
+ return "|".join(val)
49
+ def call(self, params):
50
+ call_type = dz.g(params, type="create")
51
+ if call_type == "remove":
52
+ self.mg.deal()
53
+ id = None
54
+ if self.obj_type == ObjectType.Single:
55
+ if self.single.has(id):
56
+ return self.single.get(id)
57
+ _a, _m, _s = dz.g(params, args=[], maps={}, sets={})
58
+ args = self.args
59
+ args = _a+args[len(_a):]
60
+ maps = dict(self.maps)
61
+ maps.update(_m)
62
+ sets = dict(self.sets)
63
+ sets.update(_s)
64
+ if self.obj_type == ObjectType.SingleVars:
65
+ id = self.hash(params)
66
+ if self.single.has(id):
67
+ return self.single.get(id)
68
+ args = [self.mg.deal(it) for it in args]
69
+ maps = {k:self.mg.deal(v) for k,v in maps.items()}
70
+ obj = self.fc(*args, **maps)
71
+ params = {'target':obj}
72
+ self.mg.deal(self.before_set, params=params)
73
+ sets = {k:self.mg.deal(v) for k,v in sets.items()}
74
+ for k,v in sets:
75
+ setattr(obj, k, v)
76
+ self.mg.deal(self.after_set, params=params)
77
+ if self.obj_type!=ObjectType.Multi:
78
+ self.single.set(id, obj)
79
+ return obj