buildz 0.7.6__tar.gz → 0.7.8__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 (411) hide show
  1. {buildz-0.7.6/buildz.egg-info → buildz-0.7.8}/PKG-INFO +1 -1
  2. {buildz-0.7.6 → buildz-0.7.8}/buildz/cachez/cache.py +15 -6
  3. {buildz-0.7.6 → buildz-0.7.8}/buildz/db/dv/basez.py +8 -1
  4. {buildz-0.7.6 → buildz-0.7.8}/buildz/db/dv/orm.py +11 -6
  5. {buildz-0.7.6 → buildz-0.7.8}/buildz/db/dv/sqlite3z.py +6 -1
  6. {buildz-0.7.6 → buildz-0.7.8}/buildz/logz.py +4 -4
  7. buildz-0.7.8/buildz/threads/__init__.py +3 -0
  8. buildz-0.7.8/buildz/threads/impl.py +65 -0
  9. buildz-0.7.8/buildz/threads/pool.py +125 -0
  10. buildz-0.7.8/buildz/threads/test.py +22 -0
  11. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/deal/dict.cpp +4 -0
  12. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/deal/str.cpp +7 -7
  13. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/pcxf.pyx +6 -1
  14. {buildz-0.7.6 → buildz-0.7.8/buildz.egg-info}/PKG-INFO +1 -1
  15. {buildz-0.7.6 → buildz-0.7.8}/buildz.egg-info/SOURCES.txt +4 -0
  16. {buildz-0.7.6 → buildz-0.7.8}/setup.py +1 -1
  17. {buildz-0.7.6 → buildz-0.7.8}/LICENSE +0 -0
  18. {buildz-0.7.6 → buildz-0.7.8}/MANIFEST.in +0 -0
  19. {buildz-0.7.6 → buildz-0.7.8}/README.md +0 -0
  20. {buildz-0.7.6 → buildz-0.7.8}/buildz/__init__.py +0 -0
  21. {buildz-0.7.6 → buildz-0.7.8}/buildz/__main__.py +0 -0
  22. {buildz-0.7.6 → buildz-0.7.8}/buildz/argx.py +0 -0
  23. {buildz-0.7.6 → buildz-0.7.8}/buildz/argz/__init__.py +0 -0
  24. {buildz-0.7.6 → buildz-0.7.8}/buildz/argz/argz.py +0 -0
  25. {buildz-0.7.6 → buildz-0.7.8}/buildz/argz/callz.py +0 -0
  26. {buildz-0.7.6 → buildz-0.7.8}/buildz/argz/conf_argz.py +0 -0
  27. {buildz-0.7.6 → buildz-0.7.8}/buildz/argz/conf_callz.py +0 -0
  28. {buildz-0.7.6 → buildz-0.7.8}/buildz/argz/evalx.py +0 -0
  29. {buildz-0.7.6 → buildz-0.7.8}/buildz/argz/init.py +0 -0
  30. {buildz-0.7.6 → buildz-0.7.8}/buildz/argz/test.py +0 -0
  31. {buildz-0.7.6 → buildz-0.7.8}/buildz/argz/test_call.py +0 -0
  32. {buildz-0.7.6 → buildz-0.7.8}/buildz/argz_bk/__init__.py +0 -0
  33. {buildz-0.7.6 → buildz-0.7.8}/buildz/argz_bk/argz.py +0 -0
  34. {buildz-0.7.6 → buildz-0.7.8}/buildz/argz_bk/build.py +0 -0
  35. {buildz-0.7.6 → buildz-0.7.8}/buildz/argz_bk/callz.py +0 -0
  36. {buildz-0.7.6 → buildz-0.7.8}/buildz/argz_bk/evalx.py +0 -0
  37. {buildz-0.7.6 → buildz-0.7.8}/buildz/argz_bk/test.py +0 -0
  38. {buildz-0.7.6 → buildz-0.7.8}/buildz/argz_bk/test_obj.py +0 -0
  39. {buildz-0.7.6 → buildz-0.7.8}/buildz/argz_bk/tests/conf.js +0 -0
  40. {buildz-0.7.6 → buildz-0.7.8}/buildz/argz_bk/testx.py +0 -0
  41. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/__init__.py +0 -0
  42. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/cache.py +0 -0
  43. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/config.py +0 -0
  44. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/dbs.py +0 -0
  45. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/deal.py +0 -0
  46. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/deal_list.py +0 -0
  47. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/deal_type.py +0 -0
  48. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/defs.py +0 -0
  49. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/factory.py +0 -0
  50. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/init.py +0 -0
  51. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/log.py +0 -0
  52. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/request.py +0 -0
  53. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/run.py +0 -0
  54. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/save.py +0 -0
  55. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/test/res/cache/cache.js +0 -0
  56. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/test/res/config/base.js +0 -0
  57. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/test/res/config/config.js +0 -0
  58. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/test/res/data/fp.js +0 -0
  59. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/test/res/data/item1.js +0 -0
  60. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/test/res/data/item2.js +0 -0
  61. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/test/res/data/test.js +0 -0
  62. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/test/test.py +0 -0
  63. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/test/xtest.py +0 -0
  64. {buildz-0.7.6 → buildz-0.7.8}/buildz/auto/verify.py +0 -0
  65. {buildz-0.7.6 → buildz-0.7.8}/buildz/base.py +0 -0
  66. {buildz-0.7.6 → buildz-0.7.8}/buildz/cachez/__init__.py +0 -0
  67. {buildz-0.7.6 → buildz-0.7.8}/buildz/cmd.py +0 -0
  68. {buildz-0.7.6 → buildz-0.7.8}/buildz/confz.py +0 -0
  69. {buildz-0.7.6 → buildz-0.7.8}/buildz/db/__init__.py +0 -0
  70. {buildz-0.7.6 → buildz-0.7.8}/buildz/db/__main__.py +0 -0
  71. {buildz-0.7.6 → buildz-0.7.8}/buildz/db/dv/__init__.py +0 -0
  72. {buildz-0.7.6 → buildz-0.7.8}/buildz/db/dv/clickhousez.py +0 -0
  73. {buildz-0.7.6 → buildz-0.7.8}/buildz/db/dv/lib/readme +0 -0
  74. {buildz-0.7.6 → buildz-0.7.8}/buildz/db/dv/mysqlz.py +0 -0
  75. {buildz-0.7.6 → buildz-0.7.8}/buildz/db/dv/oraclez.py +0 -0
  76. {buildz-0.7.6 → buildz-0.7.8}/buildz/db/dv/postgresqlz.py +0 -0
  77. {buildz-0.7.6 → buildz-0.7.8}/buildz/db/dv/structz.py +0 -0
  78. {buildz-0.7.6 → buildz-0.7.8}/buildz/db/install.txt +0 -0
  79. {buildz-0.7.6 → buildz-0.7.8}/buildz/db/run.conf +0 -0
  80. {buildz-0.7.6 → buildz-0.7.8}/buildz/db/runz.py +0 -0
  81. {buildz-0.7.6 → buildz-0.7.8}/buildz/db/tls.py +0 -0
  82. {buildz-0.7.6 → buildz-0.7.8}/buildz/demo/ioc/deal.py +0 -0
  83. {buildz-0.7.6 → buildz-0.7.8}/buildz/demo/ioc/help.py +0 -0
  84. {buildz-0.7.6 → buildz-0.7.8}/buildz/demo/myers/deal.py +0 -0
  85. {buildz-0.7.6 → buildz-0.7.8}/buildz/demo/myers/help.py +0 -0
  86. {buildz-0.7.6 → buildz-0.7.8}/buildz/demo/res/conf/ioc.js +0 -0
  87. {buildz-0.7.6 → buildz-0.7.8}/buildz/demo/res/conf/main.js +0 -0
  88. {buildz-0.7.6 → buildz-0.7.8}/buildz/demo/res/conf/myers.js +0 -0
  89. {buildz-0.7.6 → buildz-0.7.8}/buildz/demo/res/conf/search.js +0 -0
  90. {buildz-0.7.6 → buildz-0.7.8}/buildz/demo/res/conf/xf.js +0 -0
  91. {buildz-0.7.6 → buildz-0.7.8}/buildz/demo/res/help/default.js +0 -0
  92. {buildz-0.7.6 → buildz-0.7.8}/buildz/demo/res/help/ioc.js +0 -0
  93. {buildz-0.7.6 → buildz-0.7.8}/buildz/demo/res/help/myers.js +0 -0
  94. {buildz-0.7.6 → buildz-0.7.8}/buildz/demo/res/help/search.js +0 -0
  95. {buildz-0.7.6 → buildz-0.7.8}/buildz/demo/res/help/xf.js +0 -0
  96. {buildz-0.7.6 → buildz-0.7.8}/buildz/demo/res/test.js +0 -0
  97. {buildz-0.7.6 → buildz-0.7.8}/buildz/demo/search/deal.py +0 -0
  98. {buildz-0.7.6 → buildz-0.7.8}/buildz/demo/search/help.py +0 -0
  99. {buildz-0.7.6 → buildz-0.7.8}/buildz/demo/test.py +0 -0
  100. {buildz-0.7.6 → buildz-0.7.8}/buildz/demo/xf/deal.py +0 -0
  101. {buildz-0.7.6 → buildz-0.7.8}/buildz/demo/xf/help.py +0 -0
  102. {buildz-0.7.6 → buildz-0.7.8}/buildz/dz/__init__.py +0 -0
  103. {buildz-0.7.6 → buildz-0.7.8}/buildz/dz/mapz.py +0 -0
  104. {buildz-0.7.6 → buildz-0.7.8}/buildz/evalz/__init__.py +0 -0
  105. {buildz-0.7.6 → buildz-0.7.8}/buildz/evalz/evalz.py +0 -0
  106. {buildz-0.7.6 → buildz-0.7.8}/buildz/evalz/res/default.js +0 -0
  107. {buildz-0.7.6 → buildz-0.7.8}/buildz/evalz/test.py +0 -0
  108. {buildz-0.7.6 → buildz-0.7.8}/buildz/fz/__init__.py +0 -0
  109. {buildz-0.7.6 → buildz-0.7.8}/buildz/fz/dirz.py +0 -0
  110. {buildz-0.7.6 → buildz-0.7.8}/buildz/fz/fhs.py +0 -0
  111. {buildz-0.7.6 → buildz-0.7.8}/buildz/fz/fio.py +0 -0
  112. {buildz-0.7.6 → buildz-0.7.8}/buildz/fz/lsf.py +0 -0
  113. {buildz-0.7.6 → buildz-0.7.8}/buildz/gpuz/test/analyze.py +0 -0
  114. {buildz-0.7.6 → buildz-0.7.8}/buildz/gpuz/test/demo.py +0 -0
  115. {buildz-0.7.6 → buildz-0.7.8}/buildz/gpuz/test/report.txt +0 -0
  116. {buildz-0.7.6 → buildz-0.7.8}/buildz/gpuz/test/take_gpu_mem.py +0 -0
  117. {buildz-0.7.6 → buildz-0.7.8}/buildz/gpuz/test/test_atten_demo.py +0 -0
  118. {buildz-0.7.6 → buildz-0.7.8}/buildz/gpuz/test/test_linear_demo.py +0 -0
  119. {buildz-0.7.6 → buildz-0.7.8}/buildz/gpuz/test/test_multi_demo.py +0 -0
  120. {buildz-0.7.6 → buildz-0.7.8}/buildz/gpuz/test/test_resnet_demo.py +0 -0
  121. {buildz-0.7.6 → buildz-0.7.8}/buildz/gpuz/torch/__init__.py +0 -0
  122. {buildz-0.7.6 → buildz-0.7.8}/buildz/gpuz/torch/dict_middle.py +0 -0
  123. {buildz-0.7.6 → buildz-0.7.8}/buildz/gpuz/torch/multi_dict_middle.py +0 -0
  124. {buildz-0.7.6 → buildz-0.7.8}/buildz/gpuz/torch/seq_middle.py +0 -0
  125. {buildz-0.7.6 → buildz-0.7.8}/buildz/html/__init__.py +0 -0
  126. {buildz-0.7.6 → buildz-0.7.8}/buildz/html/test/demo.html +0 -0
  127. {buildz-0.7.6 → buildz-0.7.8}/buildz/html/test/test.py +0 -0
  128. {buildz-0.7.6 → buildz-0.7.8}/buildz/html/xml.py +0 -0
  129. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/__init__.py +0 -0
  130. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/base.py +0 -0
  131. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/init.py +0 -0
  132. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc/base.py +0 -0
  133. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc/conf.py +0 -0
  134. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc/confs.py +0 -0
  135. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc/decorator.py +0 -0
  136. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc/loads.py +0 -0
  137. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc/single.py +0 -0
  138. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/base.py +0 -0
  139. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/branch.py +0 -0
  140. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/call.py +0 -0
  141. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/calls.py +0 -0
  142. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/branch_lists.js +0 -0
  143. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
  144. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
  145. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
  146. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/calls_lists.js +0 -0
  147. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/deal_lists.js +0 -0
  148. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/deals.js +0 -0
  149. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
  150. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/ioc_lists.js +0 -0
  151. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/iocf_lists.js +0 -0
  152. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/join_lists.js +0 -0
  153. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/list_lists.js +0 -0
  154. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/map_lists.js +0 -0
  155. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
  156. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
  157. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
  158. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
  159. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
  160. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
  161. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
  162. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/ref_lists.js +0 -0
  163. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/refs_lists.js +0 -0
  164. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
  165. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/xfile_defaults.js +0 -0
  166. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/conf/xfile_lists.js +0 -0
  167. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/deal.py +0 -0
  168. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/demo.py +0 -0
  169. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/env.py +0 -0
  170. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/init.py +0 -0
  171. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/ioc.py +0 -0
  172. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/iocf.py +0 -0
  173. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/join.py +0 -0
  174. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/list.py +0 -0
  175. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/map.py +0 -0
  176. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/mcall.py +0 -0
  177. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/obj.py +0 -0
  178. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/ovar.py +0 -0
  179. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/ref.py +0 -0
  180. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/refs.py +0 -0
  181. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/val.py +0 -0
  182. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/var.py +0 -0
  183. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/ioc_deal/xfile.py +0 -0
  184. {buildz-0.7.6 → buildz-0.7.8}/buildz/ioc/wrap.py +0 -0
  185. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/__init__.py +0 -0
  186. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/base.py +0 -0
  187. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/conf/base.py +0 -0
  188. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/conf/conf.py +0 -0
  189. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/conf/mg.py +0 -0
  190. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/conf/unit.py +0 -0
  191. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/conf/up.py +0 -0
  192. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/conf_deal/attr.py +0 -0
  193. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/conf_deal/base.py +0 -0
  194. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/conf_deal/call.py +0 -0
  195. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/conf_deal/cvar.py +0 -0
  196. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/conf_deal/deal.py +0 -0
  197. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/conf_deal/env.py +0 -0
  198. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/conf_deal/ioc.py +0 -0
  199. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/conf_deal/method.py +0 -0
  200. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/conf_deal/obj.py +0 -0
  201. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/conf_deal/ref.py +0 -0
  202. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/conf_deal/val.py +0 -0
  203. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/init.py +0 -0
  204. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc/__init__.py +0 -0
  205. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc/base.py +0 -0
  206. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc/builds.py +0 -0
  207. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc/confs.py +0 -0
  208. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc/datas.py +0 -0
  209. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc/dataset.py +0 -0
  210. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc/encapes.py +0 -0
  211. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc/envs.py +0 -0
  212. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc/ids.py +0 -0
  213. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc/init.py +0 -0
  214. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc/mg.py +0 -0
  215. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc/single.py +0 -0
  216. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc/sys_envs.py +0 -0
  217. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc/tdata.py +0 -0
  218. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc/tdict.py +0 -0
  219. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc/unit.py +0 -0
  220. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc/vars.py +0 -0
  221. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc_deal/base.py +0 -0
  222. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc_deal/deal.py +0 -0
  223. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc_deal/ioc.py +0 -0
  224. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc_deal/obj.py +0 -0
  225. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc_deal/ref.py +0 -0
  226. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/ioc_deal/val.py +0 -0
  227. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/test/test.py +0 -0
  228. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/wrap/base.py +0 -0
  229. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/wrap/default_wraps.py +0 -0
  230. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/wrap/env.py +0 -0
  231. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/wrap/obj.py +0 -0
  232. {buildz-0.7.6 → buildz-0.7.8}/buildz/iocz/wrap/wraps.py +0 -0
  233. {buildz-0.7.6 → buildz-0.7.8}/buildz/netz/__init__.py +0 -0
  234. {buildz-0.7.6 → buildz-0.7.8}/buildz/netz/mhttp/__init__.py +0 -0
  235. {buildz-0.7.6 → buildz-0.7.8}/buildz/netz/mhttp/caps.py +0 -0
  236. {buildz-0.7.6 → buildz-0.7.8}/buildz/netz/mhttp/gateway.py +0 -0
  237. {buildz-0.7.6 → buildz-0.7.8}/buildz/netz/mhttp/mhttp.py +0 -0
  238. {buildz-0.7.6 → buildz-0.7.8}/buildz/netz/mhttp/mhttps.py +0 -0
  239. {buildz-0.7.6 → buildz-0.7.8}/buildz/netz/mhttp/proxy.py +0 -0
  240. {buildz-0.7.6 → buildz-0.7.8}/buildz/netz/mhttp/record.py +0 -0
  241. {buildz-0.7.6 → buildz-0.7.8}/buildz/netz/sslz/__init__.py +0 -0
  242. {buildz-0.7.6 → buildz-0.7.8}/buildz/netz/sslz/gen.py +0 -0
  243. {buildz-0.7.6 → buildz-0.7.8}/buildz/netz/sslz/gen.pyi +0 -0
  244. {buildz-0.7.6 → buildz-0.7.8}/buildz/netz/tcp/__init__.py +0 -0
  245. {buildz-0.7.6 → buildz-0.7.8}/buildz/netz/tcp/__main__.py +0 -0
  246. {buildz-0.7.6 → buildz-0.7.8}/buildz/netz/tcp/middle.py +0 -0
  247. {buildz-0.7.6 → buildz-0.7.8}/buildz/netz/test/__main__.py +0 -0
  248. {buildz-0.7.6 → buildz-0.7.8}/buildz/netz/test/test.py +0 -0
  249. {buildz-0.7.6 → buildz-0.7.8}/buildz/netz/test/test_cli.py +0 -0
  250. {buildz-0.7.6 → buildz-0.7.8}/buildz/netz/test/test_gw.py +0 -0
  251. {buildz-0.7.6 → buildz-0.7.8}/buildz/pathz.py +0 -0
  252. {buildz-0.7.6 → buildz-0.7.8}/buildz/pyz.py +0 -0
  253. {buildz-0.7.6 → buildz-0.7.8}/buildz/tls.py +0 -0
  254. {buildz-0.7.6 → buildz-0.7.8}/buildz/tools.py +0 -0
  255. {buildz-0.7.6 → buildz-0.7.8}/buildz/tz/__init__.py +0 -0
  256. {buildz-0.7.6 → buildz-0.7.8}/buildz/tz/code.py +0 -0
  257. {buildz-0.7.6 → buildz-0.7.8}/buildz/tz/myers_diff.py +0 -0
  258. {buildz-0.7.6 → buildz-0.7.8}/buildz/tz/test_xfind.py +0 -0
  259. {buildz-0.7.6 → buildz-0.7.8}/buildz/tz/time/__init__.py +0 -0
  260. {buildz-0.7.6 → buildz-0.7.8}/buildz/tz/time/timez.py +0 -0
  261. {buildz-0.7.6 → buildz-0.7.8}/buildz/tz/tio/__init__.py +0 -0
  262. {buildz-0.7.6 → buildz-0.7.8}/buildz/tz/tio/base.py +0 -0
  263. {buildz-0.7.6 → buildz-0.7.8}/buildz/tz/tio/getch.py +0 -0
  264. {buildz-0.7.6 → buildz-0.7.8}/buildz/tz/tio/lx.py +0 -0
  265. {buildz-0.7.6 → buildz-0.7.8}/buildz/tz/tio/test.py +0 -0
  266. {buildz-0.7.6 → buildz-0.7.8}/buildz/tz/tio/win.py +0 -0
  267. {buildz-0.7.6 → buildz-0.7.8}/buildz/tz/xfind.py +0 -0
  268. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/__init__.py +0 -0
  269. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/__main__.py +0 -0
  270. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/base.py +0 -0
  271. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/code.py +0 -0
  272. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/Makefile +0 -0
  273. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/README.txt +0 -0
  274. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/clean.py +0 -0
  275. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/base.h +0 -0
  276. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/base_deal.h +0 -0
  277. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/buffer.cpp +0 -0
  278. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/buffer.h +0 -0
  279. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/callback.h +0 -0
  280. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/callback_demo.cpp +0 -0
  281. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/callback_demo.h +0 -0
  282. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/code.cpp +0 -0
  283. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/code.h +0 -0
  284. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/cxf.h +0 -0
  285. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/deal/dict.h +0 -0
  286. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/deal/kv.h +0 -0
  287. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/deal/list.cpp +0 -0
  288. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/deal/list.h +0 -0
  289. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/deal/listdict.cpp +0 -0
  290. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/deal/listdict.h +0 -0
  291. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/deal/lr.cpp +0 -0
  292. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/deal/lr.h +0 -0
  293. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/deal/lrval.cpp +0 -0
  294. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/deal/lrval.h +0 -0
  295. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/deal/next.cpp +0 -0
  296. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/deal/next.h +0 -0
  297. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/deal/reval.h +0 -0
  298. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/deal/spt.cpp +0 -0
  299. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/deal/spt.h +0 -0
  300. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/deal/str.h +0 -0
  301. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/exp.h +0 -0
  302. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/init.cpp +0 -0
  303. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/init.h +0 -0
  304. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/item.h +0 -0
  305. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/mg.cpp +0 -0
  306. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/mg.h +0 -0
  307. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/loaderz/test.cpp +0 -0
  308. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/pc.cpp +0 -0
  309. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/pc.h +0 -0
  310. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/setup.py +0 -0
  311. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/setup_mingw32.py +0 -0
  312. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/cpp/tstcxf.py +0 -0
  313. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/file.py +0 -0
  314. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/java/Test.java +0 -0
  315. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/java/all.sh +0 -0
  316. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/java/com/buildz/xf/Args.java +0 -0
  317. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/java/com/buildz/xf/Loader.java +0 -0
  318. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/java/com/buildz/xf/LoaderJNI.java +0 -0
  319. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/java/com/buildz/xf/cpp/com_buildz_xf_LoaderJNI.h +0 -0
  320. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/java/com/buildz/xf/cpp/jxf.cpp +0 -0
  321. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loader/base.py +0 -0
  322. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loader/buffer.py +0 -0
  323. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loader/deal/listz.py +0 -0
  324. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loader/deal/lr.py +0 -0
  325. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loader/deal/lrval.py +0 -0
  326. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loader/deal/mapz.py +0 -0
  327. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loader/deal/nextz.py +0 -0
  328. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loader/deal/reval.py +0 -0
  329. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loader/deal/setz.py +0 -0
  330. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loader/deal/spc.py +0 -0
  331. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loader/deal/spt.py +0 -0
  332. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loader/deal/strz.py +0 -0
  333. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loader/exp.py +0 -0
  334. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loader/item.py +0 -0
  335. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loader/mg.py +0 -0
  336. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loader/pos.py +0 -0
  337. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz/base.py +0 -0
  338. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz/buffer.py +0 -0
  339. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz/deal/listmapz.py +0 -0
  340. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz/deal/listz.py +0 -0
  341. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz/deal/lr.py +0 -0
  342. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz/deal/lrval.py +0 -0
  343. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz/deal/mapz.py +0 -0
  344. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz/deal/nextz.py +0 -0
  345. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz/deal/reval.py +0 -0
  346. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz/deal/setz.py +0 -0
  347. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz/deal/spt.py +0 -0
  348. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz/deal/strz.py +0 -0
  349. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz/exp.py +0 -0
  350. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz/item.py +0 -0
  351. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz/mg.py +0 -0
  352. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz/pos.py +0 -0
  353. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz/test.py +0 -0
  354. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz/test1.py +0 -0
  355. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz_nexp/base.py +0 -0
  356. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz_nexp/buffer.py +0 -0
  357. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz_nexp/deal/listmapz.py +0 -0
  358. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz_nexp/deal/listz.py +0 -0
  359. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz_nexp/deal/lr.py +0 -0
  360. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz_nexp/deal/lrval.py +0 -0
  361. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz_nexp/deal/mapz.py +0 -0
  362. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz_nexp/deal/nextz.py +0 -0
  363. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz_nexp/deal/reval.py +0 -0
  364. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz_nexp/deal/setz.py +0 -0
  365. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz_nexp/deal/spt.py +0 -0
  366. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz_nexp/deal/strz.py +0 -0
  367. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz_nexp/exp.py +0 -0
  368. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz_nexp/item.py +0 -0
  369. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz_nexp/mg.py +0 -0
  370. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz_nexp/pos.py +0 -0
  371. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz_nexp/test.py +0 -0
  372. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/loaderz_nexp/test1.py +0 -0
  373. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/mapz.py +0 -0
  374. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/read.py +0 -0
  375. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/readz.py +0 -0
  376. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/readz_nexp.py +0 -0
  377. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/stack.py +0 -0
  378. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/write.py +0 -0
  379. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writer/base.py +0 -0
  380. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writer/conf.py +0 -0
  381. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writer/deal/jsonval.py +0 -0
  382. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writer/deal/listmapz.py +0 -0
  383. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writer/deal/listz.py +0 -0
  384. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writer/deal/mapz.py +0 -0
  385. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writer/deal/reval.py +0 -0
  386. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writer/deal/strz.py +0 -0
  387. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writer/itemz.py +0 -0
  388. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writer/mg.py +0 -0
  389. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writerz/base.py +0 -0
  390. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writerz/conf.py +0 -0
  391. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writerz/deal/jsonval.py +0 -0
  392. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writerz/deal/listmapz.py +0 -0
  393. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writerz/deal/listz.py +0 -0
  394. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writerz/deal/mapz.py +0 -0
  395. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writerz/deal/reval.py +0 -0
  396. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writerz/deal/strz.py +0 -0
  397. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writerz/itemz.py +0 -0
  398. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writerz/mg.py +0 -0
  399. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writerz/test.py +0 -0
  400. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writerz/testx.py +0 -0
  401. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/writez.py +0 -0
  402. {buildz-0.7.6 → buildz-0.7.8}/buildz/xf/xargs.py +0 -0
  403. {buildz-0.7.6 → buildz-0.7.8}/buildz/xz/__init__.py +0 -0
  404. {buildz-0.7.6 → buildz-0.7.8}/buildz/xz/conf.js +0 -0
  405. {buildz-0.7.6 → buildz-0.7.8}/buildz/xz/data.js +0 -0
  406. {buildz-0.7.6 → buildz-0.7.8}/buildz/xz/test.py +0 -0
  407. {buildz-0.7.6 → buildz-0.7.8}/buildz/xz/trs.py +0 -0
  408. {buildz-0.7.6 → buildz-0.7.8}/buildz.egg-info/dependency_links.txt +0 -0
  409. {buildz-0.7.6 → buildz-0.7.8}/buildz.egg-info/top_level.txt +0 -0
  410. {buildz-0.7.6 → buildz-0.7.8}/notes/notes.txt +0 -0
  411. {buildz-0.7.6 → buildz-0.7.8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: buildz
3
- Version: 0.7.6
3
+ Version: 0.7.8
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
@@ -6,7 +6,7 @@ from ..base import Base
6
6
  from ..ioc import wrap
7
7
  from .. import logz
8
8
  ns = wrap.ns("buildz.cache")
9
- import os,re
9
+ import os,re,json
10
10
 
11
11
 
12
12
  @ns.obj(id="cache.save")
@@ -70,7 +70,8 @@ class Cache(Base):
70
70
  self.save()
71
71
  def remove(self, key):
72
72
  xf.removes(self.data, key.split(self.spt))
73
- def init(self, fps="cache.js", log=None, current_first=False, spt = ".", key_currents = "buildz.cache.path.currents", key_basedir = "buildz.cache.path.basedir", save_index = -1, auto_save = False):
73
+ def init(self, fps="cache.js", log=None, current_first=False, spt = ".", key_currents = "buildz.cache.path.currents", key_basedir = "buildz.cache.path.basedir", save_index = -1, auto_save = False, load_replace=False, save_json = False):
74
+ self.save_json = save_json
74
75
  if type(fps) not in (tuple, list):
75
76
  fps = [fps]
76
77
  self.fps = fps
@@ -80,6 +81,7 @@ class Cache(Base):
80
81
  self.key_currents = key_currents
81
82
  self.key_basedir = key_basedir
82
83
  self.save_index = save_index
84
+ self.load_replace = load_replace
83
85
  self.data = {}
84
86
  self.auto_save = auto_save
85
87
  def set_currents(self, dp):
@@ -127,13 +129,18 @@ class Cache(Base):
127
129
  if basedir is not None:
128
130
  fp = os.path.join(basedir, fp)
129
131
  return fp
130
- def save(self, fp = None):
132
+ def save(self, fp = None, save_json=None):
131
133
  if fp is None:
132
134
  fp = self.fps[self.save_index]
133
135
  fp = self.rfp(fp)
134
136
  fz.makefdir(fp)
135
- rst = self.data
136
- rs = xf.dumps(rst, format=True).encode("utf-8")
137
+ rst = self.data
138
+ if save_json is None:
139
+ save_json = self.save_json
140
+ if save_json:
141
+ rs = json.dumps(rst, indent=4, ensure_ascii= False).encode("utf-8")
142
+ else:
143
+ rs = xf.dumps(rst, format=True).encode("utf-8")
137
144
  fz.write(rs, fp, 'wb')
138
145
  def load(self, fps = None):
139
146
  if fps is None:
@@ -144,7 +151,7 @@ class Cache(Base):
144
151
  if os.path.isfile(fp):
145
152
  self.log.info(f"load cache from {fp}")
146
153
  xdata = xf.flush_maps(xf.loadf(fp),visit_list=True)
147
- xf.fill(xdata, data, replace=1)
154
+ xf.fill(xdata, data, replace=self.load_replace)
148
155
  xf.fill(data, self.data, replace=0)
149
156
 
150
157
  pass
@@ -172,6 +179,8 @@ class Caches(Base):
172
179
  self.set_currents = cache.set_currents
173
180
  self.set_basedir = cache.set_basedir
174
181
  self.get_basedir = cache.get_basedir
182
+ self.save = cache.save
183
+ self.load = cache.load
175
184
  self.has_file = cache.has
176
185
  self.has_mem = mem.has
177
186
  def get_file(self, key):
@@ -74,6 +74,8 @@ class SimpleDv(ItDv):
74
74
  rst = rst[1:]
75
75
  rst = [{k:v for k,v in zip(keys, dt)} for dt in rst]
76
76
  return rst
77
+ def clone(self):
78
+ return type(self)(self.host, self.port, self.user, sel.pwd, self.db, self.as_map, *self.argv, **self.maps)
77
79
  def __init__(self, host, port, user, pwd, db, as_map=False, *argv, **maps):
78
80
  self.host = host
79
81
  self.port = port
@@ -83,6 +85,8 @@ class SimpleDv(ItDv):
83
85
  self.con = None
84
86
  self.cursor = None
85
87
  self.as_map = as_map
88
+ self.argv = argv
89
+ self.maps = maps
86
90
  self.init(*argv, **maps)
87
91
  def begin(self):
88
92
  if self.con is not None:
@@ -125,7 +129,10 @@ class SimpleDv(ItDv):
125
129
  self.cursor.execute("commit;")
126
130
  return tmp
127
131
  def iou_sql(self, table, ks, vs, sets, qs):
128
- sql = f"insert into {table}({ks}) values({vs}) on duplicate key update {sets}"
132
+ if len(sq)==0:
133
+ sql = f"insert into {table}({ks}) values({vs})"
134
+ else:
135
+ sql = f"insert into {table}({ks}) values({vs}) on duplicate key update {sets}"
129
136
  return sql
130
137
  def insert_or_update(self, maps, table, keys = None, update_keys = None):
131
138
  if type(update_keys)==str:
@@ -105,10 +105,8 @@ def make(data, table=None, data_keys = "sql_key,sql_def,py_key".split(","), py_n
105
105
  pass
106
106
 
107
107
  class TableObject(Base):
108
- def clone(self, table_name, py_name = None):
109
- sql_create = self.sql_create.replace("<table>", table_name)
110
- sql_delete = self.sql_delete.replace("<table>", table_name)
111
- obj = TableObject(self.keys, table_name, self.src_py2sqls, self.query_keys, self.auto_translate, self.dv, sql_create, sql_delete, py_name)
108
+ def clone(self):
109
+ obj = TableObject(self.keys, self.table, self.src_py2sqls, self.query_keys, self.auto_translate, self.dv, self.sql_create, self.sql_delete, self.py_name)
112
110
  return obj
113
111
  """
114
112
  字段映射
@@ -149,9 +147,10 @@ class TableObject(Base):
149
147
  self.query_keys = query_keys
150
148
  self.dv = dv
151
149
  self.py2sql=self.to_sql
152
- self.sql2py = self.toPy
150
+ self.sql2py = self.to_py
153
151
  self.sql_create = sql_create
154
152
  self.sql_delete = sql_delete
153
+ self.auto_translate = auto_translate
155
154
  def create(self, dv=None):
156
155
  assert self.sql_create is not None
157
156
  if self.sql_create.find("<table>")>=0:
@@ -180,7 +179,7 @@ class TableObject(Base):
180
179
  def to_sql_keys(self, keys):
181
180
  obj = [k for k in keys if k in self.py2sqls]
182
181
  return obj
183
- def toPy(self, obj):
182
+ def to_py(self, obj):
184
183
  if type(obj)!=dict:
185
184
  tmp = {}
186
185
  for k in self.sql2pys:
@@ -203,6 +202,9 @@ class TableObject(Base):
203
202
  def query_all(self, dv=None, sql2py=True):
204
203
  sql = f"select * from {self.table};"
205
204
  return self.query(sql, dv, sql2py)
205
+ def execute(self, sql, dv=None):
206
+ dv=self.rdv(dv)
207
+ return dv.execute(sql)
206
208
  def filter_sql(self, obj):
207
209
  if type(obj)!=dict:
208
210
  tmp = {}
@@ -212,6 +214,9 @@ class TableObject(Base):
212
214
  obj = tmp
213
215
  obj = {k:v for k,v in obj.items() if k in self.keys}
214
216
  return obj
217
+ def commit(self, dv=None):
218
+ dv = self.rdv(dv)
219
+ dv.execute("commit")
215
220
  def save(self, obj, dv=None, py2sql = True, commit=False, check = True, update_keys = None):
216
221
  dv = self.rdv(dv)
217
222
  if type(update_keys)==str:
@@ -20,6 +20,8 @@ class Db(SimpleDv):
20
20
  return sqlite3.connect(self.fp)
21
21
  def new_cursor(self):
22
22
  return self.con.cursor()
23
+ def clone(self):
24
+ return Db(self.fp, self.as_map)
23
25
  def __init__(self, fp, as_map=False, *argv, **maps):
24
26
  #def __init__(self, fp):
25
27
  self.con = None
@@ -91,7 +93,10 @@ class Db(SimpleDv):
91
93
  rst = [{k:v for k,v in zip(keys, dt)} for dt in rst]
92
94
  return rst
93
95
  def iou_sql(self, table, ks, vs, sets, qs):
94
- sql = f"insert into {table}({ks}) values({vs}) ON CONFLICT({','.join(qs)}) DO UPDATE SET {sets}"
96
+ if len(qs)==0:
97
+ sql = f"insert into {table}({ks}) values({vs})"
98
+ else:
99
+ sql = f"insert into {table}({ks}) values({vs}) ON CONFLICT({','.join(qs)}) DO UPDATE SET {sets}"
95
100
  return sql
96
101
  def insert_or_updatexxx(self, maps, table, keys = None, update_keys = None):
97
102
  if type(maps)!=dict:
@@ -88,11 +88,11 @@ def mstr(s):
88
88
  @ns.obj(id="formatLog")
89
89
  @ns.obj_args("ref, buildz.logz.shows, null", "ref, buildz.logz.tag, null", "ref, buildz.logz.format, null")
90
90
  class FormatLog(Log):
91
- def init(self, shows =None, tag=None, format=None, lock = False):
91
+ def init(self, shows =None, tag=None, format=None, base=None, lock = False):
92
92
  if format is None:
93
93
  format = "[{LEVEL}] %Y-%m-%d %H:%M:%S [{tag}] {msg}\n"
94
94
  self.format=format
95
- super().init(shows, tag, lock)
95
+ super().init(shows, tag, base, lock)
96
96
  def output(self, msg):
97
97
  raise Exception("impl")
98
98
  def do_log(self, level, tag, *args):
@@ -107,8 +107,8 @@ class FormatLog(Log):
107
107
  msg = replaces(rst, "{Level}", x_level, "{level}", m_level, "{LEVEL}", u_level, "{tag}", tag, "{msg}", msg)
108
108
  self.output(msg)
109
109
  class FpLog(FormatLog):
110
- def init(self, fp = None,shows =None, tag=None, format=None, lock = False):
111
- super().init(shows, tag, format, lock)
110
+ def init(self, fp = None,shows =None, tag=None, format=None, base=None, lock = False):
111
+ super().init(shows, tag, format, base, lock)
112
112
  self.fp = fp
113
113
  def output(self, msg):
114
114
  #sys.stdout.write(msg)
@@ -0,0 +1,3 @@
1
+ #
2
+ from .pool import *
3
+ from .impl import *
@@ -0,0 +1,65 @@
1
+ #
2
+
3
+ from .pool import *
4
+ import threading
5
+ class FcTask(Task):
6
+ def init(self, fc, args=[], maps={}, fc_exp = None):
7
+ self.fc = fc
8
+ self.args = args
9
+ self.maps = maps
10
+ self.fc_exp = fc_exp
11
+ def run(self):
12
+ return self.fc(*self.args, **self.maps)
13
+ def deal_exp(self, exp, traceback_exp):
14
+ if self.fc_exp is not None:
15
+ return self.fc_exp(exp, traceback_exp)
16
+ print("FcTask exp:", exp)
17
+ print("traceback:", traceback_exp)
18
+ class SimpleTasks(Tasks):
19
+ def init(self, wait_sec = 0.1):
20
+ self.condition = threading.Condition()
21
+ self.tasks = []
22
+ self.wait_sec = wait_sec
23
+ self.wait_count=0
24
+ def waits(self):
25
+ return len(self.tasks)
26
+ def add(self, task):
27
+ with self.condition:
28
+ self.tasks.append(task)
29
+ if self.wait_count>0:
30
+ self.condition.notify(1)
31
+ def pop(self):
32
+ with self.condition:
33
+ if len(self.tasks)==0:
34
+ self.wait_count+=1
35
+ self.condition.wait(self.wait_sec)
36
+ self.wait_count-=1
37
+ if len(self.tasks)==0:
38
+ return None
39
+ return self.tasks.pop(0)
40
+ class RangeManager(WorkerManager):
41
+ def init(self, vmin=0, vmax=-1):
42
+ self.min = vmin
43
+ self.max = vmax
44
+ def change(self, workers, tasks, first_call):
45
+ waits = tasks.waits()
46
+ curr = len(workers)
47
+ if curr<self.min:
48
+ return self.min-curr
49
+ if self.max>0 and curr>self.max:
50
+ return self.max-curr
51
+ frees = len([wk for wk in workers if wk.wait_count>1])
52
+ needs = waits-frees
53
+ rst = curr+needs
54
+ if needs==0:
55
+ return 0
56
+ if needs>0:
57
+ if self.max>0 and rst>self.max:
58
+ needs = self.max-curr
59
+ return needs
60
+ else:
61
+ if rst<self.min:
62
+ needs = self.min-curr
63
+ return needs
64
+
65
+ pass
@@ -0,0 +1,125 @@
1
+
2
+ import threading,time
3
+ from .. import Base
4
+ class Task(Base):
5
+ def run(self):
6
+ pass
7
+ def deal_exp(self, exp, traceback_exp):
8
+ pass
9
+ class BasePool(Base):
10
+ def check_run(self):
11
+ return False
12
+ def get_task(self):
13
+ return None
14
+ class Worker(Base):
15
+ def id(self):
16
+ return threading.get_ident()
17
+ def init(self, pool):
18
+ self.pool = pool
19
+ self.running = False
20
+ self.do_run = False
21
+ self.wait_time=0
22
+ self.wait_count = 0
23
+ self.work_time=0
24
+ self.th = None
25
+ def start(self):
26
+ self.th = threading.Thread(target=self.run,daemon=True)
27
+ self.th.start()
28
+ def safe_stop(self):
29
+ self.do_run=False
30
+ def work_rate(self):
31
+ return self.work_time/(self.work_time+self.wait_time+1e-4)
32
+ def run(self):
33
+ self.wait_time=0
34
+ self.work_time=0
35
+ self.wait_count=0
36
+ self.running = True
37
+ self.do_run = True
38
+ while self.do_run and self.pool.check_run():
39
+ start = time.time()
40
+ task = self.pool.get_task()
41
+ task_start = time.time()
42
+ if task is None:
43
+ self.wait_time+=task_start-start
44
+ self.wait_count+=1
45
+ continue
46
+ self.wait_count=0
47
+ try:
48
+ task.run()
49
+ except Exception as exp:
50
+ import traceback
51
+ try:
52
+ task.deal_exp(exp, traceback.format_exc())
53
+ except Exception as _exp:
54
+ print(f"deal_exp on {exp} get except: {_exp}")
55
+ finish = time.time()
56
+ self.wait_time+=task_start-start
57
+ self.work_time+=finish-task_start
58
+ self.running = False
59
+
60
+ pass
61
+ class Tasks(Base):
62
+ def waits(self):
63
+ return 0
64
+ def add(self, task):
65
+ pass
66
+ def pop(self):
67
+ return None
68
+ class WorkerManager(Base):
69
+ def change(self, workers, tasks, first_call=False):
70
+ return 0
71
+
72
+ pass
73
+ class Pool(BasePool):
74
+ def check_run(self):
75
+ return self.running
76
+ def get_task(self):
77
+ return self.tasks.pop()
78
+ def init(self, tasks, manager):
79
+ self.running = False
80
+ self.workers = []
81
+ self.stops = []
82
+ self.manager = manager
83
+ self.tasks = tasks
84
+ def start(self):
85
+ if self.running:
86
+ return
87
+ self.running = True
88
+ for wk in self.workers:
89
+ wk.safe_stop()
90
+ self.stops.append(wk)
91
+ self.workers = []
92
+ self.clean_stops()
93
+ self.change_workers(True)
94
+ def change_workers(self, first=False):
95
+ num = self.manager.change(self.workers, self.tasks, first)
96
+ if num==0:
97
+ return
98
+ if num>0:
99
+ for i in range(num):
100
+ worker = Worker(self)
101
+ worker.start()
102
+ self.workers.append(worker)
103
+ else:
104
+ for i in range(-num):
105
+ worker = self.workers.pop()
106
+ worker.safe_stop()
107
+ self.stops.append(worker)
108
+ def clean_stops(self):
109
+ self.stops = [wk for wk in self.stops if wk.running]
110
+ def check_finish(self):
111
+ for k in self.workers:
112
+ if k.running:
113
+ return False
114
+ for k in self.stops:
115
+ if k.running:
116
+ return False
117
+ return True
118
+ def stop(self):
119
+ self.running = False
120
+ def add_task(self, task):
121
+ self.tasks.add(task)
122
+ if self.running:
123
+ self.change_workers()
124
+
125
+ pass
@@ -0,0 +1,22 @@
1
+
2
+ from buildz.threads import *
3
+ import time
4
+ tasks = SimpleTasks()
5
+ manager = RangeManager(1,3)
6
+ pool = Pool(tasks, manager)
7
+ print(pool)
8
+ import threading,time
9
+ def test(sec):
10
+ _id = threading.get_ident()
11
+ print(f"thread {_id} [start]")
12
+ time.sleep(sec)
13
+ print(f"thread {_id} stop")
14
+
15
+ pass
16
+ pool.add_task(FcTask(test, [0.5]))
17
+ pool.start()
18
+ for i in range(10):
19
+ pool.add_task(FcTask(test, [0.5]))
20
+
21
+
22
+ time.sleep(2.0)
@@ -1,6 +1,7 @@
1
1
 
2
2
  #include"dict.h"
3
3
  #include"../mg.h"
4
+ #include<iostream>
4
5
  Item* DictDeal::build(Item* obj, Manager& mg) {
5
6
  ItemList& list = *(ItemList*)obj->val;
6
7
  int size = list.size();
@@ -16,6 +17,9 @@ Item* DictDeal::build_arr(ItemList& arr, Int2& arr_pos, Manager& mg){
16
17
  if (size%3!=0){
17
18
  std::stringstream errs;
18
19
  errs<<"u f in map: "<<arr.size();
20
+ // for(int i=0;i<size;i++){
21
+ // std::cout<<"index:"<<i<<":"<<arr[i]->str()<<std::endl;
22
+ // }
19
23
  throw Exp(errs.str(), arr_pos);
20
24
  }
21
25
  void* rst = mg.callback->create(TYPE_DICT, NULL, (size/3));
@@ -17,16 +17,16 @@ bool StrDeal::deal(BufferBase& buffer, ItemList& rst, Manager& mg){
17
17
  buffer.pos(rm_pos);
18
18
  buffer.clean2read(ll);
19
19
  //ItemList* arr = new ItemList();
20
- ItemList arr, mg_arr;
21
- arr.reserve(16);
22
- mg_arr.reserve(16);
20
+ // ItemList arr, mg_arr;
21
+ // arr.reserve(16);
22
+ // mg_arr.reserve(16);
23
23
  if (rm_size>0){
24
24
  if (!note){
25
25
  std::stringstream errs;
26
26
  errs<<"unexcept char before string: "<<rm;
27
27
  throw Exp(errs.str(), rm_pos);
28
28
  } else {
29
- arr.push_back(new Item(rm, rm_pos, BUILD_TYPE_STR, false));
29
+ rst.push_back(new Item(rm, rm_pos, BUILD_TYPE_STR, false));
30
30
  }
31
31
  }
32
32
  bool do_judge = true;
@@ -77,9 +77,9 @@ bool StrDeal::deal(BufferBase& buffer, ItemList& rst, Manager& mg){
77
77
  buffer.clean();
78
78
  int build_type = TYPE_STR;
79
79
  if (translate&&mark_l2) {
80
- char* tdata = do_translate(data);
81
- delete data;
82
- data=tdata;
80
+ char* tdata = do_translate(data);
81
+ delete data;
82
+ data=tdata;
83
83
  //build_type = TYPE_STR_TRANSLATE;
84
84
  }
85
85
  void* real_obj = mg.callback->create(build_type, data);
@@ -105,7 +105,7 @@ def loads(s,coding="utf-8"):
105
105
  return rst
106
106
 
107
107
  pass
108
- def loadx(s,coding="utf-8"):
108
+ def loadx(s,coding="utf-8", out_args=False):
109
109
  """
110
110
  和python版loadx区别:
111
111
  cpp版没有dict和list,全是Args
@@ -123,6 +123,11 @@ def loadx(s,coding="utf-8"):
123
123
  # rst = rst[0]
124
124
  if type(rst)==Args and rst.size()==1 and len(rst.args)==1:
125
125
  rst = rst.args[0]
126
+ if type(rst)==Args and not out_args:
127
+ if rst.size()==len(rst.args):
128
+ rst = rst.args
129
+ elif rst.size()==len(rst.maps):
130
+ rst = rst.maps
126
131
  return rst
127
132
 
128
133
  pass
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: buildz
3
- Version: 0.7.6
3
+ Version: 0.7.8
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
@@ -246,6 +246,10 @@ buildz/netz/test/__main__.py
246
246
  buildz/netz/test/test.py
247
247
  buildz/netz/test/test_cli.py
248
248
  buildz/netz/test/test_gw.py
249
+ buildz/threads/__init__.py
250
+ buildz/threads/impl.py
251
+ buildz/threads/pool.py
252
+ buildz/threads/test.py
249
253
  buildz/tz/__init__.py
250
254
  buildz/tz/code.py
251
255
  buildz/tz/myers_diff.py
@@ -7,7 +7,7 @@ from setuptools import setup, find_packages
7
7
 
8
8
  setup(
9
9
  name = 'buildz',
10
- version = '0.7.6',
10
+ version = '0.7.8',
11
11
  keywords='buildz',
12
12
  long_description=open('README.md', 'r', encoding="utf-8").read(),
13
13
  long_description_content_type='text/markdown',
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes