buildz 0.6.23__tar.gz → 0.6.25__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 (206) hide show
  1. {buildz-0.6.23/buildz.egg-info → buildz-0.6.25}/PKG-INFO +1 -1
  2. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/cache.py +12 -1
  3. {buildz-0.6.23 → buildz-0.6.25}/buildz/db/dv/__init__.py +4 -0
  4. {buildz-0.6.23 → buildz-0.6.25}/buildz/db/dv/basez.py +15 -3
  5. buildz-0.6.25/buildz/db/dv/postgresqlz.py +42 -0
  6. {buildz-0.6.23 → buildz-0.6.25}/buildz/db/install.txt +1 -0
  7. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/mapz.py +16 -0
  8. {buildz-0.6.23 → buildz-0.6.25/buildz.egg-info}/PKG-INFO +1 -1
  9. {buildz-0.6.23 → buildz-0.6.25}/buildz.egg-info/SOURCES.txt +1 -0
  10. {buildz-0.6.23 → buildz-0.6.25}/setup.py +1 -1
  11. {buildz-0.6.23 → buildz-0.6.25}/LICENSE +0 -0
  12. {buildz-0.6.23 → buildz-0.6.25}/MANIFEST.in +0 -0
  13. {buildz-0.6.23 → buildz-0.6.25}/README.md +0 -0
  14. {buildz-0.6.23 → buildz-0.6.25}/buildz/__init__.py +0 -0
  15. {buildz-0.6.23 → buildz-0.6.25}/buildz/__main__.py +0 -0
  16. {buildz-0.6.23 → buildz-0.6.25}/buildz/argx.py +0 -0
  17. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/__init__.py +0 -0
  18. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/config.py +0 -0
  19. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/dbs.py +0 -0
  20. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/deal.py +0 -0
  21. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/deal_list.py +0 -0
  22. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/deal_type.py +0 -0
  23. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/defs.py +0 -0
  24. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/factory.py +0 -0
  25. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/init.py +0 -0
  26. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/log.py +0 -0
  27. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/request.py +0 -0
  28. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/run.py +0 -0
  29. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/save.py +0 -0
  30. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/test/res/cache/cache.js +0 -0
  31. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/test/res/config/base.js +0 -0
  32. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/test/res/config/config.js +0 -0
  33. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/test/res/data/fp.js +0 -0
  34. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/test/res/data/item1.js +0 -0
  35. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/test/res/data/item2.js +0 -0
  36. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/test/res/data/test.js +0 -0
  37. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/test/test.py +0 -0
  38. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/test/xtest.py +0 -0
  39. {buildz-0.6.23 → buildz-0.6.25}/buildz/auto/verify.py +0 -0
  40. {buildz-0.6.23 → buildz-0.6.25}/buildz/base.py +0 -0
  41. {buildz-0.6.23 → buildz-0.6.25}/buildz/cmd.py +0 -0
  42. {buildz-0.6.23 → buildz-0.6.25}/buildz/db/__main__.py +0 -0
  43. {buildz-0.6.23 → buildz-0.6.25}/buildz/db/dv/clickhousez.py +0 -0
  44. {buildz-0.6.23 → buildz-0.6.25}/buildz/db/dv/lib/readme +0 -0
  45. {buildz-0.6.23 → buildz-0.6.25}/buildz/db/dv/mysqlz.py +0 -0
  46. {buildz-0.6.23 → buildz-0.6.25}/buildz/db/dv/oraclez.py +0 -0
  47. {buildz-0.6.23 → buildz-0.6.25}/buildz/db/dv/structz.py +0 -0
  48. {buildz-0.6.23 → buildz-0.6.25}/buildz/db/run.conf +0 -0
  49. {buildz-0.6.23 → buildz-0.6.25}/buildz/db/runz.py +0 -0
  50. {buildz-0.6.23 → buildz-0.6.25}/buildz/demo/ioc/deal.py +0 -0
  51. {buildz-0.6.23 → buildz-0.6.25}/buildz/demo/ioc/help.py +0 -0
  52. {buildz-0.6.23 → buildz-0.6.25}/buildz/demo/myers/deal.py +0 -0
  53. {buildz-0.6.23/buildz/demo/search → buildz-0.6.25/buildz/demo/myers}/help.py +0 -0
  54. {buildz-0.6.23 → buildz-0.6.25}/buildz/demo/res/conf/ioc.js +0 -0
  55. {buildz-0.6.23 → buildz-0.6.25}/buildz/demo/res/conf/main.js +0 -0
  56. {buildz-0.6.23 → buildz-0.6.25}/buildz/demo/res/conf/myers.js +0 -0
  57. {buildz-0.6.23 → buildz-0.6.25}/buildz/demo/res/conf/search.js +0 -0
  58. {buildz-0.6.23 → buildz-0.6.25}/buildz/demo/res/conf/xf.js +0 -0
  59. {buildz-0.6.23 → buildz-0.6.25}/buildz/demo/res/help/default.js +0 -0
  60. {buildz-0.6.23 → buildz-0.6.25}/buildz/demo/res/help/ioc.js +0 -0
  61. {buildz-0.6.23 → buildz-0.6.25}/buildz/demo/res/help/myers.js +0 -0
  62. {buildz-0.6.23 → buildz-0.6.25}/buildz/demo/res/help/search.js +0 -0
  63. {buildz-0.6.23 → buildz-0.6.25}/buildz/demo/res/help/xf.js +0 -0
  64. {buildz-0.6.23 → buildz-0.6.25}/buildz/demo/res/test.js +0 -0
  65. {buildz-0.6.23 → buildz-0.6.25}/buildz/demo/search/deal.py +0 -0
  66. {buildz-0.6.23/buildz/demo/myers → buildz-0.6.25/buildz/demo/search}/help.py +0 -0
  67. {buildz-0.6.23 → buildz-0.6.25}/buildz/demo/test.py +0 -0
  68. {buildz-0.6.23 → buildz-0.6.25}/buildz/demo/xf/deal.py +0 -0
  69. {buildz-0.6.23 → buildz-0.6.25}/buildz/demo/xf/help.py +0 -0
  70. {buildz-0.6.23 → buildz-0.6.25}/buildz/fz/__init__.py +0 -0
  71. {buildz-0.6.23 → buildz-0.6.25}/buildz/fz/dirz.py +0 -0
  72. {buildz-0.6.23 → buildz-0.6.25}/buildz/fz/fhs.py +0 -0
  73. {buildz-0.6.23 → buildz-0.6.25}/buildz/fz/fio.py +0 -0
  74. {buildz-0.6.23 → buildz-0.6.25}/buildz/fz/lsf.py +0 -0
  75. {buildz-0.6.23 → buildz-0.6.25}/buildz/html/__init__.py +0 -0
  76. {buildz-0.6.23 → buildz-0.6.25}/buildz/html/test/demo.html +0 -0
  77. {buildz-0.6.23 → buildz-0.6.25}/buildz/html/test/test.py +0 -0
  78. {buildz-0.6.23 → buildz-0.6.25}/buildz/html/xml.py +0 -0
  79. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/__init__.py +0 -0
  80. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/base.py +0 -0
  81. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/init.py +0 -0
  82. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc/base.py +0 -0
  83. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc/conf.py +0 -0
  84. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc/confs.py +0 -0
  85. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc/decorator.py +0 -0
  86. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc/single.py +0 -0
  87. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/base.py +0 -0
  88. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/branch.py +0 -0
  89. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/call.py +0 -0
  90. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/calls.py +0 -0
  91. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/branch_lists.js +0 -0
  92. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
  93. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
  94. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
  95. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/calls_lists.js +0 -0
  96. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/deal_lists.js +0 -0
  97. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/deals.js +0 -0
  98. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
  99. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/ioc_lists.js +0 -0
  100. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/iocf_lists.js +0 -0
  101. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/join_lists.js +0 -0
  102. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/list_lists.js +0 -0
  103. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/map_lists.js +0 -0
  104. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
  105. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
  106. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
  107. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
  108. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
  109. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
  110. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
  111. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/ref_lists.js +0 -0
  112. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/refs_lists.js +0 -0
  113. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
  114. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/xfile_defaults.js +0 -0
  115. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/conf/xfile_lists.js +0 -0
  116. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/deal.py +0 -0
  117. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/demo.py +0 -0
  118. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/env.py +0 -0
  119. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/init.py +0 -0
  120. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/ioc.py +0 -0
  121. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/iocf.py +0 -0
  122. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/join.py +0 -0
  123. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/list.py +0 -0
  124. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/map.py +0 -0
  125. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/mcall.py +0 -0
  126. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/obj.py +0 -0
  127. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/ovar.py +0 -0
  128. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/ref.py +0 -0
  129. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/refs.py +0 -0
  130. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/val.py +0 -0
  131. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/var.py +0 -0
  132. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/ioc_deal/xfile.py +0 -0
  133. {buildz-0.6.23 → buildz-0.6.25}/buildz/ioc/wrap.py +0 -0
  134. {buildz-0.6.23 → buildz-0.6.25}/buildz/pyz.py +0 -0
  135. {buildz-0.6.23 → buildz-0.6.25}/buildz/tools.py +0 -0
  136. {buildz-0.6.23 → buildz-0.6.25}/buildz/tz/__init__.py +0 -0
  137. {buildz-0.6.23 → buildz-0.6.25}/buildz/tz/log.py +0 -0
  138. {buildz-0.6.23 → buildz-0.6.25}/buildz/tz/myers_diff.py +0 -0
  139. {buildz-0.6.23 → buildz-0.6.25}/buildz/tz/time/__init__.py +0 -0
  140. {buildz-0.6.23 → buildz-0.6.25}/buildz/tz/time/timez.py +0 -0
  141. {buildz-0.6.23 → buildz-0.6.25}/buildz/tz/tio/__init__.py +0 -0
  142. {buildz-0.6.23 → buildz-0.6.25}/buildz/tz/tio/base.py +0 -0
  143. {buildz-0.6.23 → buildz-0.6.25}/buildz/tz/tio/getch.py +0 -0
  144. {buildz-0.6.23 → buildz-0.6.25}/buildz/tz/tio/lx.py +0 -0
  145. {buildz-0.6.23 → buildz-0.6.25}/buildz/tz/tio/test.py +0 -0
  146. {buildz-0.6.23 → buildz-0.6.25}/buildz/tz/tio/win.py +0 -0
  147. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/__init__.py +0 -0
  148. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/__main__.py +0 -0
  149. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/code.py +0 -0
  150. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/code_modify.py +0 -0
  151. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/copy_old.py +0 -0
  152. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/file.py +0 -0
  153. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loader/base.py +0 -0
  154. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loader/buffer.py +0 -0
  155. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loader/deal/listz.py +0 -0
  156. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loader/deal/lr.py +0 -0
  157. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loader/deal/lrval.py +0 -0
  158. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loader/deal/mapz.py +0 -0
  159. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loader/deal/nextz.py +0 -0
  160. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loader/deal/reval.py +0 -0
  161. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loader/deal/setz.py +0 -0
  162. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loader/deal/spc.py +0 -0
  163. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loader/deal/spt.py +0 -0
  164. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loader/deal/strz.py +0 -0
  165. {buildz-0.6.23/buildz/xf/loaderz → buildz-0.6.25/buildz/xf/loader}/exp.py +0 -0
  166. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loader/item.py +0 -0
  167. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loader/mg.py +0 -0
  168. {buildz-0.6.23/buildz/xf/loaderz → buildz-0.6.25/buildz/xf/loader}/pos.py +0 -0
  169. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loaderz/base.py +0 -0
  170. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loaderz/buffer.py +0 -0
  171. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loaderz/deal/listmapz.py +0 -0
  172. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loaderz/deal/listz.py +0 -0
  173. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loaderz/deal/lr.py +0 -0
  174. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loaderz/deal/lrval.py +0 -0
  175. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loaderz/deal/mapz.py +0 -0
  176. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loaderz/deal/nextz.py +0 -0
  177. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loaderz/deal/reval.py +0 -0
  178. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loaderz/deal/setz.py +0 -0
  179. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loaderz/deal/spc.py +0 -0
  180. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loaderz/deal/spt.py +0 -0
  181. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loaderz/deal/strz.py +0 -0
  182. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loaderz/deal/strz_new.py +0 -0
  183. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loaderz/deal/strz_old.py +0 -0
  184. {buildz-0.6.23/buildz/xf/loader → buildz-0.6.25/buildz/xf/loaderz}/exp.py +0 -0
  185. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loaderz/item.py +0 -0
  186. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loaderz/mg.py +0 -0
  187. {buildz-0.6.23/buildz/xf/loader → buildz-0.6.25/buildz/xf/loaderz}/pos.py +0 -0
  188. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loaderz/test.py +0 -0
  189. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/loaderz/test1.py +0 -0
  190. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/read.py +0 -0
  191. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/readz.py +0 -0
  192. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/stack.py +0 -0
  193. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/write.py +0 -0
  194. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/writer/base.py +0 -0
  195. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/writer/conf.py +0 -0
  196. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/writer/deal/jsonval.py +0 -0
  197. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/writer/deal/listz.py +0 -0
  198. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/writer/deal/mapz.py +0 -0
  199. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/writer/deal/reval.py +0 -0
  200. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/writer/deal/strz.py +0 -0
  201. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/writer/itemz.py +0 -0
  202. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/writer/mg.py +0 -0
  203. {buildz-0.6.23 → buildz-0.6.25}/buildz/xf/xargs.py +0 -0
  204. {buildz-0.6.23 → buildz-0.6.25}/buildz.egg-info/dependency_links.txt +0 -0
  205. {buildz-0.6.23 → buildz-0.6.25}/buildz.egg-info/top_level.txt +0 -0
  206. {buildz-0.6.23 → buildz-0.6.25}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: buildz
3
- Version: 0.6.23
3
+ Version: 0.6.25
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
@@ -33,8 +33,9 @@ class Update(Base):
33
33
  return s
34
34
  rst = re.findall(self.pt, s)
35
35
  for match, key in rst:
36
+ has = self.cache.has(key)
36
37
  val = self.cache.get(key)
37
- if val is None:
38
+ if not has:
38
39
  err = f"'{key}' not found in cache"
39
40
  self.log.error(err)
40
41
  raise Exception(err)
@@ -76,6 +77,9 @@ pass
76
77
  @wrap.obj(id="cache.file")
77
78
  @wrap.obj_args("mcall, log, tag, [Cache.File]", "env, cache.rfp.current.first, false")
78
79
  class Cache(Base):
80
+ def has(self, key):
81
+ ks = key.split(".")
82
+ return xf.has(self.data, ks)
79
83
  def get(self, key):
80
84
  ks = key.split(".")
81
85
  return xf.gets(self.data, ks)
@@ -174,6 +178,8 @@ class Caches(Base):
174
178
  self.set_current = cache.set_current
175
179
  self.set_basedir = cache.set_basedir
176
180
  self.get_basedir = cache.get_basedir
181
+ self.has_file = cache.has
182
+ self.has_mem = mem.has
177
183
  def get_file(self, key):
178
184
  return self.cache.get(key)
179
185
  def get_mem(self, key):
@@ -192,5 +198,10 @@ class Caches(Base):
192
198
  if v is not None:
193
199
  return v
194
200
  return None
201
+ def has(self, key):
202
+ for cache in self.caches:
203
+ if cache.has(key):
204
+ return True
205
+ return False
195
206
 
196
207
  pass
@@ -7,6 +7,10 @@ def build(dv,*a,**b):
7
7
  from .oraclez import build as _build
8
8
  elif dv == 'clickhouse':
9
9
  from .clickhousez import build as _build
10
+ elif dv == "postgresql":
11
+ from .postgresqlz import build as _build
12
+ else:
13
+ raise Exception(f"not impl dv: {dv}")
10
14
  return _build(*a, **b)
11
15
 
12
16
  pass
@@ -62,10 +62,18 @@ pass
62
62
 
63
63
  # user|pwd@host:port/db
64
64
  def fetch(args):
65
+ """
66
+ host[:port][/db][ user][ pwd]
67
+ host:port/db user pwd
68
+ """
65
69
  if type(args) == str:
66
70
  args = args.split(" ")
67
71
  url = args[0].strip()
68
- url, db = url.split("/")
72
+ tmp = url.split("/")
73
+ url = tmp[0]
74
+ db = None
75
+ if len(tmp)>1:
76
+ db = tmp[1]
69
77
  tmp = url.split(":")
70
78
  if len(tmp)==2:
71
79
  host, port = tmp
@@ -73,8 +81,12 @@ def fetch(args):
73
81
  else:
74
82
  host = tmp[0]
75
83
  port = None
76
- user = args[1].strip()
77
- pwd = args[2].strip()
84
+ user = None
85
+ if len(args)>1:
86
+ user = args[1].strip()
87
+ pwd = None
88
+ if len(args)>2:
89
+ pwd = args[2].strip()
78
90
  return host, port, user, pwd, db
79
91
 
80
92
  pass
@@ -0,0 +1,42 @@
1
+ try:
2
+ import psycopg
3
+ except ModuleNotFoundError:
4
+ try:
5
+ import psycopg2 as psycopg
6
+ except ModuleNotFoundError:
7
+ raise Exception("module not found, try: pip install psycopg")
8
+ import sys
9
+ from .basez import SimpleDv, fetch
10
+ from .structz import CMD
11
+ class Db(SimpleDv):
12
+ # func to impl:
13
+ def to_list(self, rst):
14
+ rows = self.cursor.description
15
+ keys = [k.name.lower() for k in rows]
16
+ result = []
17
+ result.append(keys)
18
+ if rst is None or len(rst)==0:
19
+ return result
20
+ result += rst
21
+ return result
22
+ def new_con(self):
23
+ return psycopg.connect(host=self.host,
24
+ port = self.port, user =self.user,
25
+ password =self.pwd, dbname = self.db)
26
+ def new_cursor(self):
27
+ return self.con.cursor()
28
+ def init(self, *argv, **maps):
29
+ if self.port is None:
30
+ self.port = 5432
31
+ if self.user is None:
32
+ self.user = "postgres"
33
+ pass
34
+
35
+ pass
36
+ def build(argv, conf):
37
+ dv = Db(*fetch(argv))
38
+ return dv
39
+ def buildbk(argv, conf):
40
+ return CMD(make(argv, conf))
41
+
42
+ pass
@@ -2,3 +2,4 @@ pip install:
2
2
  pymysql
3
3
  cx-Oracle(and download oracle???.dll from oracle website and copy to ./dv/lib)
4
4
  clickhouse-driver
5
+ psycopg (or psycopg2, no test)
@@ -135,6 +135,22 @@ def sets(maps, keys, val):
135
135
  maps[keys[-1]] = val
136
136
 
137
137
  pass
138
+ def has(maps, keys):
139
+ if type(keys) != list:
140
+ keys = [keys]
141
+ for key in keys:
142
+ if type(maps)==dict:
143
+ if key not in maps:
144
+ return False
145
+ else:
146
+ key = int(key)
147
+ if key>=len(maps):
148
+ return default
149
+ maps = maps[key]
150
+ return True
151
+
152
+ pass
153
+
138
154
  def gets(maps, keys, default = None):
139
155
  if type(keys) != list:
140
156
  keys = [keys]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: buildz
3
- Version: 0.6.23
3
+ Version: 0.6.25
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
@@ -46,6 +46,7 @@ buildz/db/dv/basez.py
46
46
  buildz/db/dv/clickhousez.py
47
47
  buildz/db/dv/mysqlz.py
48
48
  buildz/db/dv/oraclez.py
49
+ buildz/db/dv/postgresqlz.py
49
50
  buildz/db/dv/structz.py
50
51
  buildz/db/dv/lib/readme
51
52
  buildz/demo/test.py
@@ -7,7 +7,7 @@ from setuptools import setup, find_packages
7
7
 
8
8
  setup(
9
9
  name = 'buildz',
10
- version = '0.6.23',
10
+ version = '0.6.25',
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
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