buildz 0.6.38__tar.gz → 0.6.40__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 (226) hide show
  1. {buildz-0.6.38/buildz.egg-info → buildz-0.6.40}/PKG-INFO +1 -1
  2. buildz-0.6.40/buildz/argz/args.py +19 -0
  3. {buildz-0.6.38 → buildz-0.6.40}/buildz/cachez/cache.py +6 -7
  4. buildz-0.6.40/buildz/confz.py +0 -0
  5. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc/conf.py +4 -0
  6. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc/confs.py +48 -6
  7. buildz-0.6.40/buildz/ioc/ioc/decorator.py +282 -0
  8. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/base.py +5 -2
  9. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/obj.py +22 -17
  10. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/var.py +3 -2
  11. {buildz-0.6.38 → buildz-0.6.40}/buildz/logz.py +21 -12
  12. buildz-0.6.40/buildz/pathz.py +60 -0
  13. {buildz-0.6.38 → buildz-0.6.40/buildz.egg-info}/PKG-INFO +1 -1
  14. {buildz-0.6.38 → buildz-0.6.40}/buildz.egg-info/SOURCES.txt +2 -0
  15. {buildz-0.6.38 → buildz-0.6.40}/setup.py +1 -1
  16. buildz-0.6.38/buildz/ioc/ioc/decorator.py +0 -107
  17. buildz-0.6.38/buildz/pathz.py +0 -33
  18. {buildz-0.6.38 → buildz-0.6.40}/LICENSE +0 -0
  19. {buildz-0.6.38 → buildz-0.6.40}/MANIFEST.in +0 -0
  20. {buildz-0.6.38 → buildz-0.6.40}/README.md +0 -0
  21. {buildz-0.6.38 → buildz-0.6.40}/buildz/__init__.py +0 -0
  22. {buildz-0.6.38 → buildz-0.6.40}/buildz/__main__.py +0 -0
  23. {buildz-0.6.38 → buildz-0.6.40}/buildz/argx.py +0 -0
  24. /buildz-0.6.38/buildz/confz.py → /buildz-0.6.40/buildz/argz/__init__.py +0 -0
  25. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/__init__.py +0 -0
  26. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/cache.py +0 -0
  27. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/config.py +0 -0
  28. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/dbs.py +0 -0
  29. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/deal.py +0 -0
  30. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/deal_list.py +0 -0
  31. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/deal_type.py +0 -0
  32. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/defs.py +0 -0
  33. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/factory.py +0 -0
  34. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/init.py +0 -0
  35. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/log.py +0 -0
  36. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/request.py +0 -0
  37. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/run.py +0 -0
  38. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/save.py +0 -0
  39. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/test/res/cache/cache.js +0 -0
  40. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/test/res/config/base.js +0 -0
  41. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/test/res/config/config.js +0 -0
  42. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/test/res/data/fp.js +0 -0
  43. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/test/res/data/item1.js +0 -0
  44. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/test/res/data/item2.js +0 -0
  45. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/test/res/data/test.js +0 -0
  46. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/test/test.py +0 -0
  47. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/test/xtest.py +0 -0
  48. {buildz-0.6.38 → buildz-0.6.40}/buildz/auto/verify.py +0 -0
  49. {buildz-0.6.38 → buildz-0.6.40}/buildz/base.py +0 -0
  50. {buildz-0.6.38 → buildz-0.6.40}/buildz/cachez/__init__.py +0 -0
  51. {buildz-0.6.38 → buildz-0.6.40}/buildz/cmd.py +0 -0
  52. {buildz-0.6.38 → buildz-0.6.40}/buildz/db/__init__.py +0 -0
  53. {buildz-0.6.38 → buildz-0.6.40}/buildz/db/__main__.py +0 -0
  54. {buildz-0.6.38 → buildz-0.6.40}/buildz/db/dv/__init__.py +0 -0
  55. {buildz-0.6.38 → buildz-0.6.40}/buildz/db/dv/basez.py +0 -0
  56. {buildz-0.6.38 → buildz-0.6.40}/buildz/db/dv/clickhousez.py +0 -0
  57. {buildz-0.6.38 → buildz-0.6.40}/buildz/db/dv/lib/readme +0 -0
  58. {buildz-0.6.38 → buildz-0.6.40}/buildz/db/dv/mysqlz.py +0 -0
  59. {buildz-0.6.38 → buildz-0.6.40}/buildz/db/dv/oraclez.py +0 -0
  60. {buildz-0.6.38 → buildz-0.6.40}/buildz/db/dv/orm.py +0 -0
  61. {buildz-0.6.38 → buildz-0.6.40}/buildz/db/dv/postgresqlz.py +0 -0
  62. {buildz-0.6.38 → buildz-0.6.40}/buildz/db/dv/sqlite3z.py +0 -0
  63. {buildz-0.6.38 → buildz-0.6.40}/buildz/db/dv/structz.py +0 -0
  64. {buildz-0.6.38 → buildz-0.6.40}/buildz/db/install.txt +0 -0
  65. {buildz-0.6.38 → buildz-0.6.40}/buildz/db/run.conf +0 -0
  66. {buildz-0.6.38 → buildz-0.6.40}/buildz/db/runz.py +0 -0
  67. {buildz-0.6.38 → buildz-0.6.40}/buildz/db/tls.py +0 -0
  68. {buildz-0.6.38 → buildz-0.6.40}/buildz/demo/ioc/deal.py +0 -0
  69. {buildz-0.6.38 → buildz-0.6.40}/buildz/demo/ioc/help.py +0 -0
  70. {buildz-0.6.38 → buildz-0.6.40}/buildz/demo/myers/deal.py +0 -0
  71. {buildz-0.6.38 → buildz-0.6.40}/buildz/demo/myers/help.py +0 -0
  72. {buildz-0.6.38 → buildz-0.6.40}/buildz/demo/res/conf/ioc.js +0 -0
  73. {buildz-0.6.38 → buildz-0.6.40}/buildz/demo/res/conf/main.js +0 -0
  74. {buildz-0.6.38 → buildz-0.6.40}/buildz/demo/res/conf/myers.js +0 -0
  75. {buildz-0.6.38 → buildz-0.6.40}/buildz/demo/res/conf/search.js +0 -0
  76. {buildz-0.6.38 → buildz-0.6.40}/buildz/demo/res/conf/xf.js +0 -0
  77. {buildz-0.6.38 → buildz-0.6.40}/buildz/demo/res/help/default.js +0 -0
  78. {buildz-0.6.38 → buildz-0.6.40}/buildz/demo/res/help/ioc.js +0 -0
  79. {buildz-0.6.38 → buildz-0.6.40}/buildz/demo/res/help/myers.js +0 -0
  80. {buildz-0.6.38 → buildz-0.6.40}/buildz/demo/res/help/search.js +0 -0
  81. {buildz-0.6.38 → buildz-0.6.40}/buildz/demo/res/help/xf.js +0 -0
  82. {buildz-0.6.38 → buildz-0.6.40}/buildz/demo/res/test.js +0 -0
  83. {buildz-0.6.38 → buildz-0.6.40}/buildz/demo/search/deal.py +0 -0
  84. {buildz-0.6.38 → buildz-0.6.40}/buildz/demo/search/help.py +0 -0
  85. {buildz-0.6.38 → buildz-0.6.40}/buildz/demo/test.py +0 -0
  86. {buildz-0.6.38 → buildz-0.6.40}/buildz/demo/xf/deal.py +0 -0
  87. {buildz-0.6.38 → buildz-0.6.40}/buildz/demo/xf/help.py +0 -0
  88. {buildz-0.6.38 → buildz-0.6.40}/buildz/fz/__init__.py +0 -0
  89. {buildz-0.6.38 → buildz-0.6.40}/buildz/fz/dirz.py +0 -0
  90. {buildz-0.6.38 → buildz-0.6.40}/buildz/fz/fhs.py +0 -0
  91. {buildz-0.6.38 → buildz-0.6.40}/buildz/fz/fio.py +0 -0
  92. {buildz-0.6.38 → buildz-0.6.40}/buildz/fz/lsf.py +0 -0
  93. {buildz-0.6.38 → buildz-0.6.40}/buildz/html/__init__.py +0 -0
  94. {buildz-0.6.38 → buildz-0.6.40}/buildz/html/test/demo.html +0 -0
  95. {buildz-0.6.38 → buildz-0.6.40}/buildz/html/test/test.py +0 -0
  96. {buildz-0.6.38 → buildz-0.6.40}/buildz/html/xml.py +0 -0
  97. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/__init__.py +0 -0
  98. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/base.py +0 -0
  99. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/init.py +0 -0
  100. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc/base.py +0 -0
  101. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc/single.py +0 -0
  102. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/branch.py +0 -0
  103. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/call.py +0 -0
  104. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/calls.py +0 -0
  105. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/branch_lists.js +0 -0
  106. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
  107. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
  108. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
  109. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/calls_lists.js +0 -0
  110. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/deal_lists.js +0 -0
  111. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/deals.js +0 -0
  112. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
  113. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/ioc_lists.js +0 -0
  114. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/iocf_lists.js +0 -0
  115. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/join_lists.js +0 -0
  116. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/list_lists.js +0 -0
  117. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/map_lists.js +0 -0
  118. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
  119. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
  120. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
  121. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
  122. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
  123. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
  124. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
  125. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/ref_lists.js +0 -0
  126. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/refs_lists.js +0 -0
  127. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
  128. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/xfile_defaults.js +0 -0
  129. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/conf/xfile_lists.js +0 -0
  130. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/deal.py +0 -0
  131. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/demo.py +0 -0
  132. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/env.py +0 -0
  133. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/init.py +0 -0
  134. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/ioc.py +0 -0
  135. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/iocf.py +0 -0
  136. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/join.py +0 -0
  137. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/list.py +0 -0
  138. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/map.py +0 -0
  139. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/mcall.py +0 -0
  140. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/ovar.py +0 -0
  141. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/ref.py +0 -0
  142. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/refs.py +0 -0
  143. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/val.py +0 -0
  144. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/ioc_deal/xfile.py +0 -0
  145. {buildz-0.6.38 → buildz-0.6.40}/buildz/ioc/wrap.py +0 -0
  146. {buildz-0.6.38 → buildz-0.6.40}/buildz/pyz.py +0 -0
  147. {buildz-0.6.38 → buildz-0.6.40}/buildz/tools.py +0 -0
  148. {buildz-0.6.38 → buildz-0.6.40}/buildz/tz/__init__.py +0 -0
  149. {buildz-0.6.38 → buildz-0.6.40}/buildz/tz/myers_diff.py +0 -0
  150. {buildz-0.6.38 → buildz-0.6.40}/buildz/tz/test_xfind.py +0 -0
  151. {buildz-0.6.38 → buildz-0.6.40}/buildz/tz/time/__init__.py +0 -0
  152. {buildz-0.6.38 → buildz-0.6.40}/buildz/tz/time/timez.py +0 -0
  153. {buildz-0.6.38 → buildz-0.6.40}/buildz/tz/tio/__init__.py +0 -0
  154. {buildz-0.6.38 → buildz-0.6.40}/buildz/tz/tio/base.py +0 -0
  155. {buildz-0.6.38 → buildz-0.6.40}/buildz/tz/tio/getch.py +0 -0
  156. {buildz-0.6.38 → buildz-0.6.40}/buildz/tz/tio/lx.py +0 -0
  157. {buildz-0.6.38 → buildz-0.6.40}/buildz/tz/tio/test.py +0 -0
  158. {buildz-0.6.38 → buildz-0.6.40}/buildz/tz/tio/win.py +0 -0
  159. {buildz-0.6.38 → buildz-0.6.40}/buildz/tz/xfind.py +0 -0
  160. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/__init__.py +0 -0
  161. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/__main__.py +0 -0
  162. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/code.py +0 -0
  163. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/code_modify.py +0 -0
  164. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/copy_old.py +0 -0
  165. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/file.py +0 -0
  166. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loader/base.py +0 -0
  167. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loader/buffer.py +0 -0
  168. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loader/deal/listz.py +0 -0
  169. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loader/deal/lr.py +0 -0
  170. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loader/deal/lrval.py +0 -0
  171. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loader/deal/mapz.py +0 -0
  172. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loader/deal/nextz.py +0 -0
  173. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loader/deal/reval.py +0 -0
  174. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loader/deal/setz.py +0 -0
  175. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loader/deal/spc.py +0 -0
  176. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loader/deal/spt.py +0 -0
  177. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loader/deal/strz.py +0 -0
  178. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loader/exp.py +0 -0
  179. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loader/item.py +0 -0
  180. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loader/mg.py +0 -0
  181. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loader/pos.py +0 -0
  182. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loaderz/base.py +0 -0
  183. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loaderz/buffer.py +0 -0
  184. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loaderz/deal/listmapz.py +0 -0
  185. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loaderz/deal/listz.py +0 -0
  186. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loaderz/deal/lr.py +0 -0
  187. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loaderz/deal/lrval.py +0 -0
  188. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loaderz/deal/mapz.py +0 -0
  189. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loaderz/deal/nextz.py +0 -0
  190. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loaderz/deal/reval.py +0 -0
  191. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loaderz/deal/setz.py +0 -0
  192. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loaderz/deal/spc.py +0 -0
  193. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loaderz/deal/spt.py +0 -0
  194. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loaderz/deal/strz.py +0 -0
  195. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loaderz/deal/strz_new.py +0 -0
  196. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loaderz/deal/strz_old.py +0 -0
  197. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loaderz/exp.py +0 -0
  198. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loaderz/item.py +0 -0
  199. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loaderz/mg.py +0 -0
  200. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loaderz/pos.py +0 -0
  201. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loaderz/test.py +0 -0
  202. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/loaderz/test1.py +0 -0
  203. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/mapz.py +0 -0
  204. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/read.py +0 -0
  205. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/readz.py +0 -0
  206. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/stack.py +0 -0
  207. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/write.py +0 -0
  208. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/writer/base.py +0 -0
  209. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/writer/conf.py +0 -0
  210. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/writer/deal/jsonval.py +0 -0
  211. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/writer/deal/listmapz.py +0 -0
  212. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/writer/deal/listz.py +0 -0
  213. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/writer/deal/mapz.py +0 -0
  214. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/writer/deal/reval.py +0 -0
  215. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/writer/deal/strz.py +0 -0
  216. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/writer/itemz.py +0 -0
  217. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/writer/mg.py +0 -0
  218. {buildz-0.6.38 → buildz-0.6.40}/buildz/xf/xargs.py +0 -0
  219. {buildz-0.6.38 → buildz-0.6.40}/buildz/xz/__init__.py +0 -0
  220. {buildz-0.6.38 → buildz-0.6.40}/buildz/xz/conf.js +0 -0
  221. {buildz-0.6.38 → buildz-0.6.40}/buildz/xz/data.js +0 -0
  222. {buildz-0.6.38 → buildz-0.6.40}/buildz/xz/test.py +0 -0
  223. {buildz-0.6.38 → buildz-0.6.40}/buildz/xz/trs.py +0 -0
  224. {buildz-0.6.38 → buildz-0.6.40}/buildz.egg-info/dependency_links.txt +0 -0
  225. {buildz-0.6.38 → buildz-0.6.40}/buildz.egg-info/top_level.txt +0 -0
  226. {buildz-0.6.38 → buildz-0.6.40}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: buildz
3
- Version: 0.6.38
3
+ Version: 0.6.40
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,19 @@
1
+ #
2
+
3
+ from buildz import xf, Base
4
+
5
+ class Args(Base):
6
+ """
7
+ order: [0, cal]
8
+ args: [(1,), []]
9
+ maps: {
10
+
11
+ }
12
+ """
13
+ def init(self, conf):
14
+ if type(conf)==str:
15
+ conf = xf.loads(conf)
16
+ self.conf = conf
17
+ def call(self, argx):
18
+
19
+ pass
@@ -157,13 +157,13 @@ class Mem(Cache):
157
157
 
158
158
  pass
159
159
  @ns.obj(id="cache")
160
- @ns.obj_args("ref, cache.file", "ref, cache.mem")
160
+ @ns.obj_args("ref, cache.mem", "ref, cache.file")
161
161
  class Caches(Base):
162
- def init(self, cache, mem):
162
+ def init(self, mem, cache):
163
163
  self.cache = cache
164
164
  self.mem = mem
165
- self.caches = [cache, mem]
166
- self.set = cache.set
165
+ self.caches = [mem, cache]
166
+ self.set = mem.set
167
167
  self.remove = cache.remove
168
168
  self.call=cache.call
169
169
  self.rfp = cache.rfp
@@ -188,9 +188,8 @@ class Caches(Base):
188
188
  self.mem.remove(key)
189
189
  def get(self, key):
190
190
  for cache in self.caches:
191
- v = cache.get(key)
192
- if v is not None:
193
- return v
191
+ if cache.has(key):
192
+ return cache.get(key)
194
193
  return None
195
194
  def has(self, key):
196
195
  for cache in self.caches:
File without changes
@@ -197,6 +197,10 @@ class Conf(Base):
197
197
  return self.confs.set_var(key, val)
198
198
  def unset_var(self, key):
199
199
  return self.confs.unset_var(key)
200
+ def set_vars(self, vars):
201
+ return self.confs.set_vars(vars)
202
+ def unset_vars(self, vars):
203
+ return self.confs.unset_vars(vars)
200
204
  def var_keys(self):
201
205
  return self.confs.var_keys()
202
206
  def push_var(self, key, val):
@@ -1,6 +1,6 @@
1
1
  #coding=utf-8
2
2
  from buildz import xf, pyz
3
- from .decorator import decorator
3
+ from .decorator import decorators,IOCDObj,decorator
4
4
  from buildz.xf import g as xg
5
5
  from buildz import argx
6
6
  import json
@@ -274,6 +274,10 @@ class Confs(Base):
274
274
  if not self.has_var(key):
275
275
  return None, False
276
276
  return self.vars[key][i], True
277
+ def set_vars(self, vars):
278
+ [self.set_var(key,val) for key,val in vars.items()]
279
+ def unset_vars(self, vars):
280
+ [self.unset_var(key) for key in vars]
277
281
  def push_vars(self, vars):
278
282
  if vars is not None:
279
283
  [self.push_var(key,val) for key,val in vars.items()]
@@ -370,16 +374,21 @@ class Confs(Base):
370
374
  raise
371
375
  #return self.add(conf)
372
376
  def add_decorator(self):
373
- confs = decorator.all()
374
- return self.adds(confs)
375
- conf = decorator()
376
- #print(f"[TESTZ] CONFS add decorator(): {conf}")
377
- return self.add(conf)
377
+ decorators.bind(self)
378
+ #decorator.bind_confs(self)
379
+ return
380
+ # confs = decorator.all()
381
+ # return self.adds(confs)
382
+ # conf = decorator()
383
+ # #print(f"[TESTZ] CONFS add decorator(): {conf}")
384
+ # return self.add(conf)
378
385
  def add_wrap(self):
379
386
  return self.add_decorator()
380
387
  def adds(self, confs):
381
388
  for conf in confs:
382
389
  self.add(conf)
390
+ def get_conf(self, id):
391
+ return self.confs[id]
383
392
  def add(self, conf):
384
393
  """
385
394
  {
@@ -517,4 +526,37 @@ class ConfsList(Base):
517
526
 
518
527
  pass
519
528
 
529
+ class PushVar(IOCDObj):
530
+ def init(self, key, val):
531
+ super().init()
532
+ self.key = key
533
+ self.val = val
534
+ def bind(self, wrap):
535
+ super().bind(wrap)
536
+ self.decorator.add_bind(self)
537
+ def call(self):
538
+ conf = self.decorator.obj
539
+ confs = conf.confs
540
+ id = confs.gid(self.decorator.namespace, self.key)
541
+ confs.push_var(id, val)
542
+
543
+ pass
544
+ # class PushVar(IOCDObj):
545
+ # def init(self, id):
546
+ # super().init()
547
+ # self.id = id
548
+ # def call(self, val):
549
+ # def bind_fc():
550
+ # conf = self.decorator.obj
551
+ # confs = conf.confs
552
+ # id = confs.gid(self.decorator.namespace, self.id)
553
+ # confs.push_var(id, val)
554
+ # self.decorator.add_bind(bind_fc)
555
+ # return val
556
+
557
+ # pass
558
+
559
+
560
+ decorator.regist("push_var", PushVar)
561
+ #ns.push_var("path")(pathz)
520
562
 
@@ -0,0 +1,282 @@
1
+ #coding=utf-8
2
+ from buildz.base import Base
3
+ from buildz import xf
4
+ from threading import Lock
5
+ class Fcs(Base):
6
+ def init(self, wrap, fcs):
7
+ self._ioc_args = [wrap, fcs]
8
+ self._base = wrap
9
+ @property
10
+ def conf(self):
11
+ return self._ioc_args[0].obj
12
+ def __getattr__(self, key):
13
+ return self._ioc_args[1][key]
14
+
15
+ pass
16
+ class IOCDObj(Base):
17
+ def init(self):
18
+ self._wrap = None
19
+ def bind(self, wrap):
20
+ self._wrap = wrap
21
+ return self
22
+ @property
23
+ def wrap(self):
24
+ return self._wrap
25
+ @property
26
+ def decorator(self):
27
+ return self._wrap
28
+
29
+ pass
30
+ class IOCDWrap(Base):
31
+ def init(self, fc, wrap):
32
+ self.wrap = wrap
33
+ while isinstance(fc, IOCDWrap):
34
+ fc = fc.fc
35
+ self.fc = fc
36
+ def call(self, *args, **maps):
37
+ fc = self.fc(*args, **maps)
38
+ if isinstance(fc, IOCDObj):
39
+ fc.bind(self.wrap)
40
+ return fc
41
+ #return self.fc(*args, **maps).bind(self.wrap)
42
+
43
+ pass
44
+ class Decorator(Base):
45
+ """
46
+ 用@备注的形式自动生成conf文档
47
+ """
48
+ @property
49
+ def namespace(self):
50
+ return self.ns
51
+ def init(self, ns=None, lock = False):
52
+ self.conf = {}
53
+ self.ns = ns
54
+ self.fcs = {}
55
+ self.obj_fcs = Fcs(self, self.fcs)
56
+ self.obj = None
57
+ self.id = None
58
+ self.bind_fcs = []
59
+ self.do_lock = lock
60
+ if lock:
61
+ self.lock = Lock()
62
+ self.set = self.lk_fc(self.set)
63
+ self.get = self.lk_fc(self.get)
64
+ self.add = self.lk_fc(self.add)
65
+ self.add_bind = self.lk_fc(self.add_bind)
66
+ def add_bind(self, fc):
67
+ fc = IOCDWrap(fc, self)
68
+ self.bind_fcs.append(fc)
69
+ def lk_fc(self, fc):
70
+ def _fc(*a, **b):
71
+ with self.lock:
72
+ return fc(*a, **b)
73
+ return _fc
74
+ def bind(self, confs):
75
+ self.conf['namespace'] = self.ns
76
+ #from buildz import xf
77
+ #print(f"[TESTZ] Decorator conf: {self.conf}")
78
+ self.id = confs.add(self.conf)
79
+ self.obj = confs.get_conf(self.id)
80
+ for fc in self.bind_fcs:
81
+ fc()
82
+ def call(self):
83
+ return self.obj_fcs
84
+ def regist(self, key, fc):
85
+ fc = IOCDWrap(fc, self)
86
+ self.fcs[key]=fc
87
+ def clone(self, ns=None, lock=None):
88
+ if lock is None:
89
+ lock = self.do_lock
90
+ dc = Decorator(ns, lock)
91
+ for k,fc in self.fcs.items():
92
+ dc.regist(k, fc)
93
+ for fc in self.bind_fcs:
94
+ dc.add_bind(fc)
95
+ return dc
96
+ def get(self, tag, index):
97
+ conf = self.conf
98
+ if tag not in conf:
99
+ conf[tag]=[]
100
+ return conf[tag][index]
101
+ def add(self, tag, data):
102
+ conf = self.conf
103
+ if tag not in conf:
104
+ conf[tag]=[]
105
+ id = len(conf[tag])
106
+ conf[tag].append(data)
107
+ return id
108
+ def set(self, tag, key, val):
109
+ conf = self.conf
110
+ if tag not in conf:
111
+ conf[tag]={}
112
+ conf[tag][key]=val
113
+ def add_datas(self, item):
114
+ if type(item)==str:
115
+ item = xf.loads(item)
116
+ return self.add("datas", item)
117
+ def get_datas(self, id):
118
+ return self.get("datas", id)
119
+ def set_datas(self, id, val):
120
+ return self.set("datas", id, val)
121
+ def set_envs(self, key, val):
122
+ return self.set("env", key, val)
123
+ def add_inits(self, val):
124
+ return self.add("inits", val)
125
+ def add_locals(self, item):
126
+ return self.add("locals", item)
127
+
128
+ pass
129
+
130
+ class Decorators(Base):
131
+ decorator_fc_names = "regist,get,add,set,add_datas,get_datas,set_datas,set_envs,add_inits,add_locals".split(",")
132
+ def init(self, ns=None):
133
+ self.demo = Decorator(ns)
134
+ self.ns = ns
135
+ self.confs = {}
136
+ self.confs[ns] = self.demo
137
+ self.obj = None
138
+ for nfc in Decorators.decorator_fc_names:
139
+ setattr(self, nfc, self.ns_fc(nfc))
140
+ def ns_fc(self, nfc):
141
+ def _fc(*a, ns=None):
142
+ return getattr(self.decorator(ns), nfc)(*a)
143
+ return _fc
144
+ def decorator(self, ns=None):
145
+ if ns is None:
146
+ ns = self.ns
147
+ if ns not in self.confs:
148
+ self.confs[ns] = self.demo.clone(ns)
149
+ return self.confs[ns]
150
+ def call(self, ns=None):
151
+ return self.decorator(ns)()
152
+ def bind(self, confs):
153
+ for ns, conf in self.confs.items():
154
+ conf.bind(confs)
155
+ self.obj = confs
156
+
157
+ pass
158
+ decorators = Decorators()
159
+ decorator = decorators.demo
160
+ ns = decorators
161
+ # class Decorator(Base):
162
+ # def init(self):
163
+ # #self.conf = {}
164
+ # self.confs = {}
165
+ # self.confs[None] = {}
166
+ # self.objs = {}
167
+ # self.ids = {}
168
+ # self.namespace = None
169
+ # self.fcs = {}
170
+ # self._ns = {}
171
+ # self.regist("add_datas", self.add_datas)
172
+ # def get_conf_obj(self, ns):
173
+ # return self.objs[ns]
174
+ # @property
175
+ # def conf(self):
176
+ # return self.get_conf_obj(self.namespace)
177
+ # def fcns(self, namespace, fc):
178
+ # self._ns[fc] = namespace
179
+ # def ns(self, namespace):
180
+ # self.namespace = namespace
181
+ # def curr_ns(self):
182
+ # return self.namespace
183
+ # def regist(self, key, fc):
184
+ # self.fcs[key] = fc
185
+ # def get_conf(self, src, ns = None):
186
+ # if ns is None:
187
+ # ns = self.namespace
188
+ # if src in self._ns:
189
+ # ns = self._ns[src]
190
+ # if ns not in self.confs:
191
+ # conf = {}
192
+ # conf['namespace'] = ns
193
+ # self.confs[ns] = conf
194
+ # return self.confs[ns]
195
+ # def get(self, tag, index, src=None):
196
+ # conf = self.get_conf(src)
197
+ # if tag not in conf:
198
+ # conf[tag]=[]
199
+ # return conf[tag][index]
200
+ # def add(self, tag, data, src = None, ns = None):
201
+ # conf = self.get_conf(src, ns)
202
+ # if tag not in conf:
203
+ # conf[tag]=[]
204
+ # id = len(conf[tag])
205
+ # conf[tag].append(data)
206
+ # return id
207
+ # def set(self, tag, key, val, src=None):
208
+ # conf = self.get_conf(src)
209
+ # if tag not in conf:
210
+ # conf[tag]={}
211
+ # conf[tag][key]=val
212
+ # def add_datas(self, item, key=None, ns = None):
213
+ # if type(item)==str:
214
+ # item = xf.loads(item)
215
+ # return self.add("datas", item, key, ns)
216
+ # def get_datas(self, id, key=None):
217
+ # return self.get("datas", id, key)
218
+ # def set_datas(self, id, val):
219
+ # return self.set("datas", id, val)
220
+ # def set_envs(self, key, val):
221
+ # return self.set("env", key, val)
222
+ # def add_inits(self, val):
223
+ # return self.add("inits", val)
224
+ # def add_locals(self, item):
225
+ # return self.add("locals", item)
226
+ # def bind_confs(self, confs):
227
+ # for ns, val in self.confs.items():
228
+ # id = confs.add(val)
229
+ # obj = confs.get_conf(id)
230
+ # self.ids[ns] = id
231
+ # self.objs[ns] = obj
232
+ # def all(self):
233
+ # arr = [val for k,val in self.confs.items()]
234
+ # return arr
235
+ # # def call(self):
236
+ # # return self.conf
237
+
238
+ # pass
239
+
240
+ # decorator = Decorator()
241
+ # class Fcs:
242
+ # def __init__(self, k, ns):
243
+ # self._ioc_ns = [k, ns]
244
+ # @property
245
+ # def conf(self):
246
+ # return self._ioc_ns[1].get_conf(self._ioc_ns[0])
247
+
248
+ # pass
249
+ # class NameSpace(Base):
250
+ # def get_conf(self, ns):
251
+ # return self.decorator.get_conf_obj(ns)
252
+ # def init(self, decorator):
253
+ # self.decorator = decorator
254
+ # self.lock = Lock()
255
+ # def fc(self, namespace, rfc):
256
+ # def wfc(*a, **b):
257
+ # with self.lock:
258
+ # ns = self.decorator.curr_ns()
259
+ # self.decorator.ns(namespace)
260
+ # rst = rfc(*a,**b)
261
+ # self.decorator.fcns(namespace, rst)
262
+ # self.decorator.ns(ns)
263
+ # return rst
264
+ # return wfc
265
+ # def call(self, namespace):
266
+ # fcs = self.decorator.fcs
267
+ # obj = Fcs(namespace, self)
268
+ # for k,f in fcs.items():
269
+ # setattr(obj, k, self.fc(namespace, f))
270
+ # def wfc(rfc, *a, **b):
271
+ # with self.lock:
272
+ # ns = self.decorator.curr_ns()
273
+ # self.decorator.ns(namespace)
274
+ # rst = rfc(*a,**b)
275
+ # self.decorator.fcns(namespace, rst)
276
+ # self.decorator.ns(ns)
277
+ # return rst
278
+ # setattr(obj, "wrap", wfc)
279
+ # return obj
280
+
281
+ # pass
282
+ # ns = NameSpace(decorator)
@@ -2,7 +2,7 @@
2
2
 
3
3
  from ..ioc.base import Base, EncapeData, IdNotFoundError
4
4
  from buildz import xf
5
- from ..ioc.decorator import decorator
5
+ from ..ioc.decorator import decorator, IOCDObj
6
6
  import os
7
7
  dp = os.path.dirname(__file__)
8
8
  join = os.path.join
@@ -215,7 +215,10 @@ class FormatDeal(BaseDeal):
215
215
 
216
216
  pass
217
217
 
218
- class Order(Base):
218
+ class Order(IOCDObj):
219
+ """
220
+ 应该是什么没写完全的功能,已经忘记是做啥用的了
221
+ """
219
222
  def init(self, *fcs, reverse=False):
220
223
  self.fcs = fcs
221
224
  if reverse:
@@ -1,12 +1,12 @@
1
1
  #
2
2
  from ..ioc.base import Base, EncapeData,IOCError
3
3
  from ..ioc.single import Single
4
- from ..ioc.decorator import decorator
4
+ from ..ioc.decorator import decorator, IOCDObj
5
5
  from .base import FormatData,FormatDeal
6
6
  from buildz import xf, pyz
7
7
  from buildz import Base as Basez
8
8
  import os
9
- g_obj_cid = '_buildz_ioc_conf_index'
9
+ #g_obj_cid = '_buildz_ioc_conf_index'
10
10
  dp = os.path.dirname(__file__)
11
11
  join = os.path.join
12
12
  class ObjectDeal(FormatDeal):
@@ -217,28 +217,31 @@ pass
217
217
  ioc_conf_key = "_buildz_ioc_conf"
218
218
  class IOCConf(Basez):
219
219
  def init(self, key = "_buildz_ioc_conf", ckey = "_buildz_ioc_conf_cls"):
220
- self.key = key
221
- self.ckey = ckey
220
+ self.maps = {}
221
+ self.cmaps = {}
222
222
  def get(self, cls, default):
223
- if not hasattr(cls, self.ckey):
223
+ key = id(cls)
224
+ if key not in self.cmaps:
224
225
  return default
225
- prv = getattr(cls, self.ckey)
226
+ prv = self.cmaps[key]
226
227
  if prv!=cls:
227
228
  return default
228
- if hasattr(cls, self.key):
229
- return getattr(cls, self.key)
229
+ if key in self.maps:
230
+ return self.maps[key]
230
231
  return default
231
232
  def unset(self, cls):
232
- if hasattr(cls, self.ckey):
233
- delattr(cls, self.ckey)
234
- delattr(cls, self.key)
233
+ key = id(cls)
234
+ if key in self.cmaps:
235
+ del self.cmaps[key]
236
+ del self.maps[key]
235
237
  def set(self, cls, dt):
236
- setattr(cls, self.key, dt)
237
- setattr(cls, self.ckey, cls)
238
+ key = id(cls)
239
+ self.maps[key] = dt
240
+ self.cmaps[key] = cls
238
241
 
239
242
  pass
240
243
  g_ioc_conf = IOCConf()
241
- class IOCObjectAdd_(Basez):
244
+ class IOCObjectAdd_(IOCDObj):
242
245
  def init(self, key, *arr):
243
246
  _arr = update_list(arr)
244
247
  self.key = key
@@ -283,7 +286,7 @@ class IOCObjectMCall(IOCObjectAdd_):
283
286
  super().init("mcalls", *_arr)
284
287
 
285
288
  pass
286
- class IOCObjectSet_(Basez):
289
+ class IOCObjectSet_(IOCDObj):
287
290
  def init(self, key, **maps):
288
291
  _maps = update_set(maps)
289
292
  self._maps = {key:_maps}
@@ -305,10 +308,11 @@ class IOCObjectMap(IOCObjectSet_):
305
308
  super().init("maps", **maps)
306
309
 
307
310
  pass
308
- class IOCObject(Basez):
311
+ class IOCObject(IOCDObj):
309
312
  KEYS = "id,args,maps,call,prev_call,single,remove,sets,after_remove,template,parent,temp".split(",")
310
313
  SET_KEYS = "maps,sets".split(",")
311
314
  def init(self, **maps):
315
+ super().init()
312
316
  rst = update_set(maps)
313
317
  for key in self.SET_KEYS:
314
318
  if key not in maps:
@@ -344,7 +348,8 @@ class IOCObject(Basez):
344
348
  conf['type'] = 'object'
345
349
  if 'mcalls' in conf and 'call' not in conf:
346
350
  conf['call'] = {'type': "calls", 'calls': conf['mcalls']}
347
- conf[g_obj_cid] = decorator.add_datas(conf, self)
351
+ self.decorator.add_datas(conf)
352
+ #conf[g_obj_cid] = self.decorator.add_datas(conf, self)
348
353
  g_ioc_conf.unset(cls)
349
354
  return cls
350
355
 
@@ -1,7 +1,7 @@
1
1
  #
2
2
  from ..ioc.base import Base, EncapeData
3
3
  from .base import FormatData,FormatDeal
4
- from ..ioc.decorator import decorator
4
+ from ..ioc.decorator import decorator,IOCDObj
5
5
  from buildz import xf, pyz
6
6
  from buildz import Base as Basez
7
7
  import os
@@ -38,8 +38,9 @@ class VarDeal(FormatDeal):
38
38
 
39
39
  pass
40
40
 
41
- class IOCVar(Basez):
41
+ class IOCVar(IOCDObj):
42
42
  def init(self, id):
43
+ super().init()
43
44
  self.id = id
44
45
  def call(self, cls):
45
46
  src = cls.__module__+"."+cls.__name__
@@ -5,7 +5,7 @@ from . import xf, ioc, fz
5
5
  from .base import Base
6
6
  from .ioc import wrap
7
7
  #from .tools import *
8
- import time, sys
8
+ import time, sys, threading
9
9
  ns = wrap.ns("buildz.logz")
10
10
  @ns.obj(id="baseLog")
11
11
  @ns.obj_args("ref, buildz.logz.shows, null", "ref, buildz.logz.tag, null", "ref, buildz.logz.base, null")
@@ -24,17 +24,26 @@ class Log(Base):
24
24
  return log
25
25
  def get_tag(self):
26
26
  return self._tag
27
- def init(self, shows = None, tag= None, base = None):
27
+ def init(self, shows = None, tag= None, base = None, lock = False):
28
28
  if shows is None:
29
29
  shows = ["info", "debug", "warn", "error"]
30
30
  self.shows=shows
31
31
  self._tag = tag
32
32
  self.base = base
33
+ if lock:
34
+ self.lock = threading.Lock()
35
+ else:
36
+ self.lock = None
37
+ def log(self, level, tag, *args):
38
+ if self.lock is not None:
39
+ with self.lock:
40
+ return self.do_log(level, tag, *args)
41
+ return self.do_log(level, tag, *args)
33
42
  def xlog(self, level, *args):
34
43
  if level not in self.shows:
35
44
  return
36
45
  self.log(level, self.tag, *args)
37
- def log(self, level, tag, *args):
46
+ def do_log(self, level, tag, *args):
38
47
  if self.base is not None:
39
48
  return self.base.log(level, tag, *args)
40
49
  raise Exception("unimpl")
@@ -70,14 +79,14 @@ def mstr(s):
70
79
  @ns.obj(id="formatLog")
71
80
  @ns.obj_args("ref, buildz.logz.shows, null", "ref, buildz.logz.tag, null", "ref, buildz.logz.format, null")
72
81
  class FormatLog(Log):
73
- def init(self, shows =None, tag=None, format=None):
82
+ def init(self, shows =None, tag=None, format=None, lock = False):
74
83
  if format is None:
75
84
  format = "[{LEVEL}] %Y-%m-%d %H:%M:%S {tag} {msg}\n"
76
85
  self.format=format
77
- super().init(shows, tag)
86
+ super().init(shows, tag, lock)
78
87
  def output(self, msg):
79
88
  raise Exception("impl")
80
- def log(self, level, tag, *args):
89
+ def do_log(self, level, tag, *args):
81
90
  m_level = level.lower()
82
91
  u_level = level.upper()
83
92
  x_level = mstr(level)
@@ -89,8 +98,8 @@ class FormatLog(Log):
89
98
  msg = replaces(rst, "{Level}", x_level, "{level}", m_level, "{LEVEL}", u_level, "{tag}", tag, "{msg}", msg)
90
99
  self.output(msg)
91
100
  class FpLog(FormatLog):
92
- def init(self, fp = None,shows =None, tag=None, format=None):
93
- super().init(shows, tag, format)
101
+ def init(self, fp = None,shows =None, tag=None, format=None, lock = False):
102
+ super().init(shows, tag, format, lock)
94
103
  self.fp = fp
95
104
  def output(self, msg):
96
105
  #sys.stdout.write(msg)
@@ -106,14 +115,14 @@ class StdLog(FormatLog):
106
115
 
107
116
  pass
108
117
  #wrap.decorator.add_datas()
109
- wrap.decorator.add_datas("[logs.list, refs], buildz\.logz\.item,", ns = "buildz.logz")
118
+ wrap.ns.add_datas("[logs.list, refs], buildz\.logz\.item,", ns = "buildz.logz")
110
119
  @ns.obj(id="logs")
111
120
  @ns.obj_args("ref, logs.list, []", "ref, buildz.logz.shows,null", "ref, buildz.logz.tag, null")
112
121
  class Logs(Log):
113
- def init(self, logs, shows = None, tag= None):
114
- super().init(shows, tag)
122
+ def init(self, logs, shows = None, tag= None, lock = False):
123
+ super().init(shows, tag, lock=lock)
115
124
  self.logs = logs
116
- def log(self, level, tag, *args):
125
+ def do_log(self, level, tag, *args):
117
126
  for _log in self.logs:
118
127
  _log.log(level, tag, *args)
119
128