re-common 0.2.54__py3-none-any.whl → 2.0.1__py3-none-any.whl

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 (207) hide show
  1. re_common/v2/baselibrary/s3object/baseboto3.py +230 -0
  2. re_common/v2/baselibrary/tools/dict_tools.py +24 -0
  3. re_common/v2/baselibrary/tools/search_hash_tools.py +33 -0
  4. re_common/v2/baselibrary/tools/text_matcher.py +223 -0
  5. re_common/v2/baselibrary/tools/unionfind_tools.py +60 -0
  6. re_common/v2/baselibrary/utils/BusinessStringUtil.py +74 -0
  7. re_common/v2/baselibrary/utils/author_smi.py +308 -0
  8. re_common/v2/baselibrary/utils/basedict.py +26 -0
  9. re_common/v2/baselibrary/utils/basehdfs.py +127 -0
  10. re_common/v2/baselibrary/utils/json_cls.py +11 -0
  11. re_common/v2/baselibrary/utils/string_bool.py +9 -0
  12. re_common/v2/baselibrary/utils/string_clear.py +98 -0
  13. re_common/v2/baselibrary/utils/stringutils.py +95 -0
  14. {re_common-0.2.54.dist-info → re_common-2.0.1.dist-info}/METADATA +1 -1
  15. re_common-2.0.1.dist-info/RECORD +25 -0
  16. re_common/baselibrary/__init__.py +0 -4
  17. re_common/baselibrary/baseabs/__init__.py +0 -7
  18. re_common/baselibrary/baseabs/baseabs.py +0 -26
  19. re_common/baselibrary/database/mbuilder.py +0 -132
  20. re_common/baselibrary/database/moudle.py +0 -93
  21. re_common/baselibrary/database/msqlite3.py +0 -194
  22. re_common/baselibrary/database/mysql.py +0 -169
  23. re_common/baselibrary/database/sql_factory.py +0 -26
  24. re_common/baselibrary/mthread/MThreadingRun.py +0 -486
  25. re_common/baselibrary/mthread/MThreadingRunEvent.py +0 -349
  26. re_common/baselibrary/mthread/__init__.py +0 -3
  27. re_common/baselibrary/mthread/mythreading.py +0 -695
  28. re_common/baselibrary/pakge_other/socks.py +0 -404
  29. re_common/baselibrary/readconfig/config_factory.py +0 -18
  30. re_common/baselibrary/readconfig/ini_config.py +0 -317
  31. re_common/baselibrary/readconfig/toml_config.py +0 -49
  32. re_common/baselibrary/temporary/envdata.py +0 -36
  33. re_common/baselibrary/tools/all_requests/aiohttp_request.py +0 -118
  34. re_common/baselibrary/tools/all_requests/httpx_requet.py +0 -102
  35. re_common/baselibrary/tools/all_requests/mrequest.py +0 -412
  36. re_common/baselibrary/tools/all_requests/requests_request.py +0 -81
  37. re_common/baselibrary/tools/batch_compre/__init__.py +0 -0
  38. re_common/baselibrary/tools/batch_compre/bijiao_batch.py +0 -31
  39. re_common/baselibrary/tools/contrast_db3.py +0 -123
  40. re_common/baselibrary/tools/copy_file.py +0 -39
  41. re_common/baselibrary/tools/db3_2_sizedb3.py +0 -102
  42. re_common/baselibrary/tools/foreachgz.py +0 -40
  43. re_common/baselibrary/tools/get_attr.py +0 -11
  44. re_common/baselibrary/tools/image_to_pdf.py +0 -62
  45. re_common/baselibrary/tools/java_code_deal.py +0 -139
  46. re_common/baselibrary/tools/javacode.py +0 -79
  47. re_common/baselibrary/tools/mdb_db3.py +0 -48
  48. re_common/baselibrary/tools/merge_file.py +0 -171
  49. re_common/baselibrary/tools/merge_gz_file.py +0 -165
  50. re_common/baselibrary/tools/mhdfstools/__init__.py +0 -0
  51. re_common/baselibrary/tools/mhdfstools/down_hdfs_files.py +0 -42
  52. re_common/baselibrary/tools/mhdfstools/hdfst.py +0 -42
  53. re_common/baselibrary/tools/mhdfstools/up_hdfs_files.py +0 -38
  54. re_common/baselibrary/tools/mongo_tools.py +0 -50
  55. re_common/baselibrary/tools/move_file.py +0 -170
  56. re_common/baselibrary/tools/move_mongo/__init__.py +0 -0
  57. re_common/baselibrary/tools/move_mongo/mongo_table_to_file.py +0 -63
  58. re_common/baselibrary/tools/move_mongo/move_mongo_table.py +0 -354
  59. re_common/baselibrary/tools/move_mongo/use_mttf.py +0 -18
  60. re_common/baselibrary/tools/move_mongo/use_mv.py +0 -93
  61. re_common/baselibrary/tools/mpandas/__init__.py +0 -0
  62. re_common/baselibrary/tools/mpandas/mpandasreadexcel.py +0 -125
  63. re_common/baselibrary/tools/mpandas/pandas_visualization.py +0 -8
  64. re_common/baselibrary/tools/myparsel.py +0 -104
  65. re_common/baselibrary/tools/rename_dir_file.py +0 -37
  66. re_common/baselibrary/tools/sequoiadb_utils.py +0 -398
  67. re_common/baselibrary/tools/split_line_to_many.py +0 -25
  68. re_common/baselibrary/tools/stringtodicts.py +0 -33
  69. re_common/baselibrary/tools/workwechant_bot.py +0 -84
  70. re_common/baselibrary/utils/__init__.py +0 -0
  71. re_common/baselibrary/utils/baseaiohttp.py +0 -296
  72. re_common/baselibrary/utils/baseaiomysql.py +0 -87
  73. re_common/baselibrary/utils/baseallstep.py +0 -191
  74. re_common/baselibrary/utils/baseavro.py +0 -19
  75. re_common/baselibrary/utils/baseboto3.py +0 -291
  76. re_common/baselibrary/utils/basecsv.py +0 -32
  77. re_common/baselibrary/utils/basedict.py +0 -133
  78. re_common/baselibrary/utils/basedir.py +0 -241
  79. re_common/baselibrary/utils/baseencode.py +0 -351
  80. re_common/baselibrary/utils/baseencoding.py +0 -29
  81. re_common/baselibrary/utils/baseesdsl.py +0 -86
  82. re_common/baselibrary/utils/baseexcel.py +0 -264
  83. re_common/baselibrary/utils/baseexcept.py +0 -109
  84. re_common/baselibrary/utils/basefile.py +0 -654
  85. re_common/baselibrary/utils/baseftp.py +0 -214
  86. re_common/baselibrary/utils/basegzip.py +0 -60
  87. re_common/baselibrary/utils/basehdfs.py +0 -135
  88. re_common/baselibrary/utils/basehttpx.py +0 -268
  89. re_common/baselibrary/utils/baseip.py +0 -87
  90. re_common/baselibrary/utils/basejson.py +0 -2
  91. re_common/baselibrary/utils/baselist.py +0 -32
  92. re_common/baselibrary/utils/basemotor.py +0 -190
  93. re_common/baselibrary/utils/basemssql.py +0 -98
  94. re_common/baselibrary/utils/baseodbc.py +0 -113
  95. re_common/baselibrary/utils/basepandas.py +0 -302
  96. re_common/baselibrary/utils/basepeewee.py +0 -11
  97. re_common/baselibrary/utils/basepika.py +0 -180
  98. re_common/baselibrary/utils/basepydash.py +0 -143
  99. re_common/baselibrary/utils/basepymongo.py +0 -230
  100. re_common/baselibrary/utils/basequeue.py +0 -22
  101. re_common/baselibrary/utils/baserar.py +0 -57
  102. re_common/baselibrary/utils/baserequest.py +0 -279
  103. re_common/baselibrary/utils/baseset.py +0 -8
  104. re_common/baselibrary/utils/basesmb.py +0 -403
  105. re_common/baselibrary/utils/basestring.py +0 -382
  106. re_common/baselibrary/utils/basetime.py +0 -320
  107. re_common/baselibrary/utils/basetuple.py +0 -0
  108. re_common/baselibrary/utils/baseurl.py +0 -121
  109. re_common/baselibrary/utils/basezip.py +0 -57
  110. re_common/baselibrary/utils/core/__init__.py +0 -8
  111. re_common/baselibrary/utils/core/bottomutils.py +0 -18
  112. re_common/baselibrary/utils/core/mdeprecated.py +0 -327
  113. re_common/baselibrary/utils/core/mlamada.py +0 -16
  114. re_common/baselibrary/utils/core/msginfo.py +0 -25
  115. re_common/baselibrary/utils/core/requests_core.py +0 -103
  116. re_common/baselibrary/utils/fateadm.py +0 -429
  117. re_common/baselibrary/utils/importfun.py +0 -123
  118. re_common/baselibrary/utils/mfaker.py +0 -57
  119. re_common/baselibrary/utils/my_abc/__init__.py +0 -3
  120. re_common/baselibrary/utils/my_abc/better_abc.py +0 -32
  121. re_common/baselibrary/utils/mylogger.py +0 -414
  122. re_common/baselibrary/utils/myredisclient.py +0 -861
  123. re_common/baselibrary/utils/pipupgrade.py +0 -21
  124. re_common/baselibrary/utils/ringlist.py +0 -85
  125. re_common/baselibrary/utils/version_compare.py +0 -36
  126. re_common/baselibrary/utils/ydmhttp.py +0 -126
  127. re_common/facade/__init__.py +0 -1
  128. re_common/facade/lazy_import.py +0 -11
  129. re_common/facade/loggerfacade.py +0 -25
  130. re_common/facade/mysqlfacade.py +0 -467
  131. re_common/facade/now.py +0 -31
  132. re_common/facade/sqlite3facade.py +0 -257
  133. re_common/facade/use/__init__.py +0 -0
  134. re_common/facade/use/mq_use_facade.py +0 -83
  135. re_common/facade/use/proxy_use_facade.py +0 -20
  136. re_common/libtest/__init__.py +0 -0
  137. re_common/libtest/base_dict_test.py +0 -19
  138. re_common/libtest/baseavro_test.py +0 -13
  139. re_common/libtest/basefile_test.py +0 -14
  140. re_common/libtest/basemssql_test.py +0 -77
  141. re_common/libtest/baseodbc_test.py +0 -8
  142. re_common/libtest/basepandas_test.py +0 -38
  143. re_common/libtest/get_attr_test/__init__.py +0 -0
  144. re_common/libtest/get_attr_test/get_attr_test_settings.py +0 -14
  145. re_common/libtest/get_attr_test/settings.py +0 -55
  146. re_common/libtest/idencode_test.py +0 -54
  147. re_common/libtest/iniconfig_test.py +0 -35
  148. re_common/libtest/ip_test.py +0 -35
  149. re_common/libtest/merge_file_test.py +0 -20
  150. re_common/libtest/mfaker_test.py +0 -9
  151. re_common/libtest/mm3_test.py +0 -32
  152. re_common/libtest/mylogger_test.py +0 -89
  153. re_common/libtest/myparsel_test.py +0 -28
  154. re_common/libtest/mysql_test.py +0 -151
  155. re_common/libtest/pymongo_test.py +0 -21
  156. re_common/libtest/split_test.py +0 -12
  157. re_common/libtest/sqlite3_merge_test.py +0 -6
  158. re_common/libtest/sqlite3_test.py +0 -34
  159. re_common/libtest/tomlconfig_test.py +0 -30
  160. re_common/libtest/use_tools_test/__init__.py +0 -3
  161. re_common/libtest/user/__init__.py +0 -5
  162. re_common/studio/__init__.py +0 -5
  163. re_common/studio/assignment_expressions.py +0 -37
  164. re_common/studio/mydash/__init__.py +0 -0
  165. re_common/studio/mydash/test1.py +0 -19
  166. re_common/studio/pydashstudio/__init__.py +0 -0
  167. re_common/studio/pydashstudio/first.py +0 -9
  168. re_common/studio/streamlitstudio/__init__.py +0 -0
  169. re_common/studio/streamlitstudio/first_app.py +0 -66
  170. re_common/studio/streamlitstudio/uber_pickups.py +0 -24
  171. re_common/studio/test.py +0 -19
  172. re_common/vip/__init__.py +0 -0
  173. re_common/vip/base_step_process.py +0 -11
  174. re_common/vip/baseencodeid.py +0 -91
  175. re_common/vip/changetaskname.py +0 -28
  176. re_common/vip/core_var.py +0 -24
  177. re_common/vip/mmh3Hash.py +0 -90
  178. re_common/vip/proxy/__init__.py +0 -0
  179. re_common/vip/proxy/allproxys.py +0 -127
  180. re_common/vip/proxy/allproxys_thread.py +0 -159
  181. re_common/vip/proxy/cnki_proxy.py +0 -153
  182. re_common/vip/proxy/kuaidaili.py +0 -87
  183. re_common/vip/proxy/proxy_all.py +0 -113
  184. re_common/vip/proxy/update_kuaidaili_0.py +0 -42
  185. re_common/vip/proxy/wanfang_proxy.py +0 -152
  186. re_common/vip/proxy/wp_proxy_all.py +0 -182
  187. re_common/vip/read_rawid_to_txt.py +0 -92
  188. re_common/vip/title/__init__.py +0 -5
  189. re_common/vip/title/transform/TransformBookTitleToZt.py +0 -125
  190. re_common/vip/title/transform/TransformConferenceTitleToZt.py +0 -139
  191. re_common/vip/title/transform/TransformCstadTitleToZt.py +0 -196
  192. re_common/vip/title/transform/TransformJournalTitleToZt.py +0 -203
  193. re_common/vip/title/transform/TransformPatentTitleToZt.py +0 -132
  194. re_common/vip/title/transform/TransformRegulationTitleToZt.py +0 -114
  195. re_common/vip/title/transform/TransformStandardTitleToZt.py +0 -135
  196. re_common/vip/title/transform/TransformThesisTitleToZt.py +0 -135
  197. re_common/vip/title/transform/__init__.py +0 -11
  198. re_common-0.2.54.dist-info/RECORD +0 -194
  199. /re_common/{baselibrary/database → v2}/__init__.py +0 -0
  200. /re_common/{baselibrary/pakge_other → v2/baselibrary}/__init__.py +0 -0
  201. /re_common/{baselibrary/readconfig → v2/baselibrary/s3object}/__init__.py +0 -0
  202. /re_common/{baselibrary/temporary → v2/baselibrary/tools}/__init__.py +0 -0
  203. /re_common/{baselibrary/tools/__init__.py → v2/baselibrary/tools/list_tools.py} +0 -0
  204. /re_common/{baselibrary/tools/all_requests → v2/baselibrary/utils}/__init__.py +0 -0
  205. {re_common-0.2.54.dist-info → re_common-2.0.1.dist-info}/LICENSE +0 -0
  206. {re_common-0.2.54.dist-info → re_common-2.0.1.dist-info}/WHEEL +0 -0
  207. {re_common-0.2.54.dist-info → re_common-2.0.1.dist-info}/top_level.txt +0 -0
@@ -1,467 +0,0 @@
1
- import sys
2
- import traceback
3
-
4
- import pymysql
5
-
6
- from re_common.baselibrary import MLogger
7
- from re_common.baselibrary.baseabs import BaseAbs
8
- from re_common.baselibrary.database.mbuilder import MysqlBuilderAbstract
9
- from re_common.baselibrary.database.moudle import SqlMoudle
10
- from re_common.baselibrary.readconfig.ini_config import IniConfig
11
- from re_common.baselibrary.readconfig.toml_config import TomlConfig
12
-
13
-
14
- class MysqlBuilder(MysqlBuilderAbstract):
15
- def __init__(self, configfile, configname, keytransformdicts=None):
16
- # sql的moudle对象 mysql通过该对象对接参数
17
- self.sqlmoudle = SqlMoudle()
18
- # 获取配置文件对象
19
- self.ic = IniConfig(configfile).builder()
20
- # 配置文件位置
21
- self.configfile = configfile
22
- # 配置文件的sections
23
- self.configname = configname
24
- # 使用key转换器转换key(主要用于配置文件的key与我们默认读取时的key不一致)
25
- self.keytransformdicts = keytransformdicts
26
- """
27
- python2
28
- self.config.readfp(open(configfile, 'rb'))
29
- python3
30
- self.config.read_file(open(configfile, 'r'))
31
- """
32
-
33
- def build_port(self, port):
34
- self.sqlmoudle.port = int(self.ic.get_value(self.configname, port))
35
- return self
36
-
37
- def build_server_address(self, host):
38
- self.sqlmoudle.host = self.ic.get_value(self.configname, host)
39
- return self
40
-
41
- def build_password(self, passwd):
42
- self.sqlmoudle.passwd = self.ic.get_value(self.configname, passwd)
43
- return self
44
-
45
- def use_db(self, db):
46
- self.sqlmoudle.db = self.ic.get_value(self.configname, db)
47
- return self
48
-
49
- def build_username(self, user):
50
- self.sqlmoudle.user = self.ic.get_value(self.configname, user)
51
- return self
52
-
53
- def build_chart(self, chartset):
54
- self.sqlmoudle.charset = self.ic.get_value(self.configname, chartset)
55
- return self
56
-
57
- def build_cursorclass(self, cursornum):
58
- if cursornum == 1:
59
- self.sqlmoudle.cursorclass = pymysql.cursors.DictCursor
60
- else:
61
- # 默认保持不变
62
- pass
63
-
64
- return self
65
-
66
- # def build_cursorclass(self,cursorclass):
67
- # self.sqlmoudle.cursorclass = self.ic.get_value(self.configname, cursorclass)
68
-
69
- def get_moudle(self):
70
- """
71
- 返回数据库连接需要的对象
72
- :return:
73
- """
74
- return self.sqlmoudle
75
-
76
- def build_all(self):
77
- if not self.keytransformdicts:
78
- # 不传入时不转换
79
- self.keytransformdicts = {"port": "port", "host": "host", "passwd": "passwd", "user": "user", "db": "db",
80
- "chartset": "chartset"}
81
- self.build_port(self.keytransformdicts["port"])
82
- self.build_server_address(self.keytransformdicts["host"])
83
- self.build_password(self.keytransformdicts["passwd"])
84
- self.build_username(self.keytransformdicts["user"])
85
- self.use_db(self.keytransformdicts["db"])
86
- self.build_chart(self.keytransformdicts["chartset"])
87
- return self
88
-
89
- def get_tuples(self):
90
- return self.sqlmoudle.host, self.sqlmoudle.user, self.sqlmoudle.passwd, self.sqlmoudle.port
91
-
92
-
93
- class MysqlBuilderForToml(MysqlBuilderAbstract):
94
- def __init__(self, configfile, sesc, keytransformdicts=None):
95
- # sql的moudle对象 mysql通过该对象对接参数
96
- self.sqlmoudle = SqlMoudle()
97
- # 获取配置文件对象
98
- self.dic = TomlConfig(configfile).read_file_remove_bom().get_dicts()
99
- # 配置文件位置
100
- self.configfile = configfile
101
- # 配置文件的sections
102
- self.sesc = sesc
103
- # 使用key转换器转换key(主要用于配置文件的key与我们默认读取时的key不一致)
104
- self.keytransformdicts = keytransformdicts
105
- """
106
- python2
107
- self.config.readfp(open(configfile, 'rb'))
108
- python3
109
- self.config.read_file(open(configfile, 'r'))
110
- """
111
-
112
- def build_port(self, port):
113
- self.sqlmoudle.port = int(self.dic[self.sesc][port])
114
- return self
115
-
116
- def build_server_address(self, host):
117
- self.sqlmoudle.host = self.dic[self.sesc][host]
118
- return self
119
-
120
- def build_password(self, passwd):
121
- self.sqlmoudle.passwd = self.dic[self.sesc][passwd]
122
- return self
123
-
124
- def use_db(self, db):
125
- self.sqlmoudle.db = self.dic[self.sesc][db]
126
- return self
127
-
128
- def build_username(self, user):
129
- self.sqlmoudle.user = self.dic[self.sesc][user]
130
- return self
131
-
132
- def build_chart(self, chartset):
133
- self.sqlmoudle.charset = self.dic[self.sesc][chartset]
134
- return self
135
-
136
- def build_cursorclass(self, cursornum):
137
- if cursornum == 1:
138
- self.sqlmoudle.cursorclass = pymysql.cursors.DictCursor
139
- else:
140
- # 默认保持不变
141
- pass
142
-
143
- return self
144
-
145
- def get_moudle(self):
146
- """
147
- 返回数据库连接需要的对象
148
- :return:
149
- """
150
- return self.sqlmoudle
151
-
152
- def build_all(self):
153
- if not self.keytransformdicts:
154
- # 不传入时不转换
155
- self.keytransformdicts = {"port": "port", "host": "host", "passwd": "passwd", "user": "user", "db": "db",
156
- "chartset": "chartset"}
157
- self.build_port(self.keytransformdicts["port"])
158
- self.build_server_address(self.keytransformdicts["host"])
159
- self.build_password(self.keytransformdicts["passwd"])
160
- self.build_username(self.keytransformdicts["user"])
161
- self.use_db(self.keytransformdicts["db"])
162
- self.build_chart(self.keytransformdicts["chartset"])
163
- return self
164
-
165
- def get_tuples(self):
166
- return self.sqlmoudle.host, self.sqlmoudle.user, self.sqlmoudle.passwd, self.sqlmoudle.port
167
-
168
-
169
- class MysqlBuilderForDicts(MysqlBuilderAbstract):
170
- def __init__(self, dicts, keytransformdicts=None):
171
- # sql的moudle对象 mysql通过该对象对接参数
172
- self.sqlmoudle = SqlMoudle()
173
- self.dicts = dicts
174
- # 使用key转换器转换key(主要用于配置文件的key与我们默认读取时的key不一致)
175
- self.keytransformdicts = keytransformdicts
176
-
177
- def build_port(self, port):
178
- self.sqlmoudle.port = int(self.dicts[port])
179
- return self
180
-
181
- def build_server_address(self, host):
182
- self.sqlmoudle.host = self.dicts[host]
183
- return self
184
-
185
- def build_password(self, passwd):
186
- self.sqlmoudle.passwd = self.dicts[passwd]
187
- return self
188
-
189
- def use_db(self, db):
190
- self.sqlmoudle.db = self.dicts[db]
191
- return self
192
-
193
- def build_username(self, user):
194
- self.sqlmoudle.user = self.dicts[user]
195
- return self
196
-
197
- def build_chart(self, chartset):
198
- self.sqlmoudle.charset = self.dicts[chartset]
199
- return self
200
-
201
- def build_cursorclass(self, cursornum):
202
- if cursornum == 1:
203
- self.sqlmoudle.cursorclass = pymysql.cursors.DictCursor
204
- else:
205
- # 默认保持不变
206
- pass
207
-
208
- return self
209
-
210
- def get_moudle(self):
211
- """
212
- 返回数据库连接需要的对象
213
- :return:
214
- """
215
- return self.sqlmoudle
216
-
217
- def build_all(self):
218
- if not self.keytransformdicts:
219
- # 不传入时不转换
220
- self.keytransformdicts = {"port": "port", "host": "host", "passwd": "passwd", "user": "user", "db": "db",
221
- "chartset": "chartset"}
222
- self.build_port(self.keytransformdicts["port"])
223
- self.build_server_address(self.keytransformdicts["host"])
224
- self.build_password(self.keytransformdicts["passwd"])
225
- self.build_username(self.keytransformdicts["user"])
226
- self.use_db(self.keytransformdicts["db"])
227
- self.build_chart(self.keytransformdicts["chartset"])
228
- return self
229
-
230
- def get_tuples(self):
231
- return self.sqlmoudle.host, self.sqlmoudle.user, self.sqlmoudle.passwd, self.sqlmoudle.port
232
-
233
-
234
- class MysqlUtiles(object):
235
- def __init__(self, cfgfilepath, sesc, logger=None, keytransformdicts=None, builder="MysqlBuilder", cursorsnum=0,
236
- dicts=None):
237
- """
238
-
239
- :param cfgfilepath:
240
- :param sesc:
241
- :param logger:
242
- :param keytransformdicts:
243
- :param builder:
244
- :param cursors: 0表示默认,1 表示dicts 其他情况后面再添加
245
- """
246
- self._logger = logger
247
- # 通过工厂方法获取mysql对象
248
- self.mysql = BaseAbs.get_sql_factory().mysql_factory("mysql")
249
- # mysql 连接通过builder进行适配 这里的builder通过配置文件获取相关连接信息
250
- # 也可以通过继承 MysqlBuilderAbstract 后自己手动设置builer
251
- if builder == "MysqlBuilder":
252
- self.builder = MysqlBuilder(cfgfilepath, sesc, keytransformdicts)
253
- elif builder == "MysqlBuilderForToml":
254
- self.builder = MysqlBuilderForToml(cfgfilepath, sesc, keytransformdicts)
255
- elif builder == "MysqlBuilderForDicts":
256
- self.builder = MysqlBuilderForDicts(dicts, keytransformdicts)
257
- else:
258
- raise Exception("传入builder 参数有误")
259
- self.builder = self.builder.build_all().build_cursorclass(cursorsnum)
260
- self.moudle = self.builder.get_moudle()
261
- # 连接mysql通过唯一适配moudle
262
- # print(self.moudle.to_dict())
263
- self.mysql.link(self.moudle)
264
-
265
- @property
266
- def logger(self):
267
- if self._logger is None:
268
- self._logger = MLogger().streamlogger
269
- return self._logger
270
-
271
- @logger.setter
272
- def logger(self, value):
273
- assert isinstance(value, MLogger)
274
- self._logger = value
275
-
276
- # 更新数据库状态
277
- def ExeSqlListToDB(self, sSqlList, errExit=True, args=None):
278
- """
279
- 该函数处理一个sql列表 没有返回并将列表置空
280
- :param sSqlList:
281
- :return:
282
- """
283
- dbMsg = None
284
- if not self.mysql:
285
- raise ValueError("database conn or database config must have to have one")
286
- if not self.mysql.is_ping():
287
- self.mysql.reConnect()
288
- cursor = self.mysql.get_new_cursor()
289
- errcount = 0
290
- successcount = 0
291
- for sql in sSqlList:
292
- try:
293
- self.logger.info(sql + ";" + str(args))
294
- cursor.execute(sql, args=args)
295
- successcount += 1
296
- except:
297
- errcount += 1
298
- self.mysql.commit()
299
- self.logger.error('*errSql:' + sql)
300
- dbMsg = '*updateError:' + traceback.format_exc()
301
- if errExit:
302
- self.logger.error(dbMsg)
303
- sys.exit(-1)
304
- if dbMsg:
305
- self.logger.error(dbMsg)
306
- self.mysql.commit()
307
- cursor.close()
308
- if errcount:
309
- return False, successcount, errcount
310
- else:
311
- return True, successcount, errcount
312
-
313
- def SelectFromDB(self, sSql, errExit=True, args=None):
314
- """
315
- 使用sql语句查询并返回结果列表
316
- :param sql:
317
- :return:
318
- """
319
- if not self.mysql:
320
- raise ValueError("database conn or database config must have to have one")
321
- if self.mysql.is_ping():
322
- self.mysql.reConnect()
323
- cursor = self.mysql.get_new_cursor()
324
- try:
325
- self.logger.info(sSql + ";" + str(args))
326
- result = cursor.execute(sSql, args=args)
327
- rows = cursor.fetchall()
328
- return True, rows
329
- except:
330
- self.logger.error('* errSql:' + sSql)
331
- sMsg = '* errSynax:' + traceback.format_exc()
332
- if errExit:
333
- self.logger.error(sMsg)
334
- sys.exit(-1)
335
- finally:
336
- self.mysql.commit()
337
- cursor.close()
338
- if sMsg:
339
- self.logger.error(sMsg)
340
- return False, sMsg
341
-
342
- def SelectFromDBFetchOne_noyield(self, sSql, errExit=True, args=None):
343
- """
344
- 使用sql语句查询并返回结果列表
345
- :param sql:
346
- :return:
347
- """
348
- if not self.mysql:
349
- raise ValueError("database conn or database config must have to have one")
350
- if self.mysql.is_ping():
351
- self.mysql.reConnect()
352
- cur = self.mysql.get_new_cursor()
353
- try:
354
- self.logger.info(sSql + ";" + str(args))
355
- result = cur.execute(sSql, args=args)
356
- return True, cur.fetchone()
357
- except:
358
- self.logger.error('* errSql:' + sSql)
359
- sMsg = '* errSynax:' + traceback.format_exc()
360
- if errExit:
361
- self.logger.error(sMsg)
362
- sys.exit(-1)
363
- finally:
364
- self.mysql.commit()
365
- cur.close()
366
- if sMsg:
367
- self.logger.error(sMsg)
368
- return False, sMsg
369
-
370
- def SelectFromDBFetchOne(self, sSql, errExit=True, args=None):
371
- """
372
- 使用sql语句查询并返回结果列表
373
- :param sql:
374
- :return:
375
- """
376
- if not self.mysql:
377
- raise ValueError("database conn or database config must have to have one")
378
- if self.mysql.is_ping():
379
- self.mysql.reConnect()
380
- cur = self.mysql.get_new_cursor()
381
- try:
382
- self.logger.info(sSql + ";" + str(args))
383
- result = cur.execute(sSql, args=args)
384
- while True:
385
- row = cur.fetchone()
386
- if row is None:
387
- return None
388
- else:
389
- yield row
390
- except:
391
- self.logger.error('* errSql:' + sSql)
392
- sMsg = '* errSynax:' + traceback.format_exc()
393
- if errExit:
394
- self.logger.error(sMsg)
395
- sys.exit(-1)
396
- finally:
397
- self.mysql.commit()
398
- cur.close()
399
- if sMsg:
400
- self.logger.error(sMsg)
401
- return None
402
-
403
- def ExeSqlToDB(self, sSql, errExit=True, args=None):
404
- if not self.mysql:
405
- raise ValueError("database conn or database config must have to have one")
406
- if self.mysql.is_ping():
407
- self.mysql.reConnect()
408
- cur = self.mysql.get_new_cursor()
409
- try:
410
- self.logger.info(sSql + ";" + str(args))
411
- rows = cur.execute(sSql, args=args)
412
- self.mysql.commit()
413
- return True, rows
414
- except:
415
- self.mysql.rollback()
416
- sMsg = '* errSynax:' + traceback.format_exc()
417
- if errExit:
418
- self.logger.error(sMsg)
419
- sys.exit(-1)
420
- finally:
421
- self.mysql.commit()
422
- cur.close()
423
- if sMsg:
424
- self.logger.error(sMsg)
425
- return False, sMsg
426
-
427
- # 更新数据库状态
428
- def ExeSqlMany(self, sSql, args, errExit=True):
429
- """
430
- 该函数处理一个sql列表 没有返回并将列表置空
431
- :param conn:
432
- :param sSqlList:
433
- :return:
434
- """
435
-
436
- if not self.mysql:
437
- raise ValueError("database conn or database config must have to have one")
438
- if self.mysql.is_ping():
439
- self.mysql.reConnect()
440
- cur = self.mysql.get_new_cursor()
441
- try:
442
- self.logger.info(sSql + ";" + str(args))
443
- rows = cur.executemany(sSql, args=args)
444
- self.mysql.commit()
445
- return True, rows
446
- except:
447
- self.mysql.rollback()
448
- self.logger.error('*errSql:' + sSql)
449
- dbMsg = '*updateError:' + traceback.format_exc()
450
- if errExit:
451
- self.logger.error(dbMsg)
452
- sys.exit(-1)
453
- finally:
454
- self.mysql.commit()
455
- cur.close()
456
- if dbMsg:
457
- self.logger.error(dbMsg)
458
- return False, dbMsg
459
-
460
- def escape_string(self, string):
461
- return self.mysql.escape(string)
462
-
463
- def pymysql_escape_string(self, strings):
464
- return self.mysql.escape(strings)
465
-
466
- def close(self):
467
- self.mysql.db.close()
re_common/facade/now.py DELETED
@@ -1,31 +0,0 @@
1
- # 这个库会加载所有的模块,也可以知道本基础库使用了哪些模块
2
- from re_common.baselibrary.utils.baserequest import BaseRequest
3
-
4
- from .loggerfacade import MLogger
5
-
6
- __all__ = ['get_streamlogger', 'get_filelogger', 'get_timerotatingfilelogger', 'BaseRequest']
7
-
8
- """
9
- 提供logger的使用外观 外观模式
10
- """
11
-
12
-
13
- def get_streamlogger():
14
- """
15
- 提供一个输出流的logger
16
- :return:
17
- """
18
- return MLogger().streamlogger
19
-
20
-
21
- def get_filelogger(filedir):
22
- """
23
- 文件流的logger
24
- :param filedir:
25
- :return:
26
- """
27
- return MLogger(filedir).filelogger
28
-
29
-
30
- def get_timerotatingfilelogger(filedir, fileter=None):
31
- return MLogger(filedir, fileter).timerotatingfilelogger