re-common 2.0.0__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 (200) hide show
  1. re_common/v2/baselibrary/tools/search_hash_tools.py +33 -0
  2. re_common/v2/baselibrary/tools/text_matcher.py +223 -0
  3. re_common/v2/baselibrary/utils/BusinessStringUtil.py +2 -2
  4. re_common/v2/baselibrary/utils/author_smi.py +308 -0
  5. re_common/v2/baselibrary/utils/string_clear.py +15 -1
  6. re_common/v2/baselibrary/utils/stringutils.py +36 -1
  7. {re_common-2.0.0.dist-info → re_common-2.0.1.dist-info}/METADATA +1 -1
  8. re_common-2.0.1.dist-info/RECORD +25 -0
  9. re_common/baselibrary/__init__.py +0 -4
  10. re_common/baselibrary/baseabs/__init__.py +0 -7
  11. re_common/baselibrary/baseabs/baseabs.py +0 -26
  12. re_common/baselibrary/database/mbuilder.py +0 -132
  13. re_common/baselibrary/database/moudle.py +0 -93
  14. re_common/baselibrary/database/msqlite3.py +0 -194
  15. re_common/baselibrary/database/mysql.py +0 -169
  16. re_common/baselibrary/database/sql_factory.py +0 -26
  17. re_common/baselibrary/mthread/MThreadingRun.py +0 -486
  18. re_common/baselibrary/mthread/MThreadingRunEvent.py +0 -349
  19. re_common/baselibrary/mthread/__init__.py +0 -3
  20. re_common/baselibrary/mthread/mythreading.py +0 -695
  21. re_common/baselibrary/pakge_other/__init__.py +0 -0
  22. re_common/baselibrary/pakge_other/socks.py +0 -404
  23. re_common/baselibrary/readconfig/__init__.py +0 -0
  24. re_common/baselibrary/readconfig/config_factory.py +0 -18
  25. re_common/baselibrary/readconfig/ini_config.py +0 -317
  26. re_common/baselibrary/readconfig/toml_config.py +0 -49
  27. re_common/baselibrary/temporary/__init__.py +0 -0
  28. re_common/baselibrary/temporary/envdata.py +0 -36
  29. re_common/baselibrary/tools/__init__.py +0 -0
  30. re_common/baselibrary/tools/all_requests/__init__.py +0 -0
  31. re_common/baselibrary/tools/all_requests/aiohttp_request.py +0 -118
  32. re_common/baselibrary/tools/all_requests/httpx_requet.py +0 -102
  33. re_common/baselibrary/tools/all_requests/mrequest.py +0 -412
  34. re_common/baselibrary/tools/all_requests/requests_request.py +0 -81
  35. re_common/baselibrary/tools/batch_compre/__init__.py +0 -0
  36. re_common/baselibrary/tools/batch_compre/bijiao_batch.py +0 -31
  37. re_common/baselibrary/tools/contrast_db3.py +0 -123
  38. re_common/baselibrary/tools/copy_file.py +0 -39
  39. re_common/baselibrary/tools/db3_2_sizedb3.py +0 -102
  40. re_common/baselibrary/tools/foreachgz.py +0 -40
  41. re_common/baselibrary/tools/get_attr.py +0 -11
  42. re_common/baselibrary/tools/image_to_pdf.py +0 -62
  43. re_common/baselibrary/tools/java_code_deal.py +0 -139
  44. re_common/baselibrary/tools/javacode.py +0 -79
  45. re_common/baselibrary/tools/mdb_db3.py +0 -48
  46. re_common/baselibrary/tools/merge_file.py +0 -171
  47. re_common/baselibrary/tools/merge_gz_file.py +0 -165
  48. re_common/baselibrary/tools/mhdfstools/__init__.py +0 -0
  49. re_common/baselibrary/tools/mhdfstools/down_hdfs_files.py +0 -42
  50. re_common/baselibrary/tools/mhdfstools/hdfst.py +0 -42
  51. re_common/baselibrary/tools/mhdfstools/up_hdfs_files.py +0 -38
  52. re_common/baselibrary/tools/mongo_tools.py +0 -50
  53. re_common/baselibrary/tools/move_file.py +0 -170
  54. re_common/baselibrary/tools/move_mongo/__init__.py +0 -0
  55. re_common/baselibrary/tools/move_mongo/mongo_table_to_file.py +0 -63
  56. re_common/baselibrary/tools/move_mongo/move_mongo_table.py +0 -354
  57. re_common/baselibrary/tools/move_mongo/use_mttf.py +0 -18
  58. re_common/baselibrary/tools/move_mongo/use_mv.py +0 -93
  59. re_common/baselibrary/tools/mpandas/__init__.py +0 -0
  60. re_common/baselibrary/tools/mpandas/mpandasreadexcel.py +0 -125
  61. re_common/baselibrary/tools/mpandas/pandas_visualization.py +0 -8
  62. re_common/baselibrary/tools/myparsel.py +0 -104
  63. re_common/baselibrary/tools/rename_dir_file.py +0 -37
  64. re_common/baselibrary/tools/sequoiadb_utils.py +0 -398
  65. re_common/baselibrary/tools/split_line_to_many.py +0 -25
  66. re_common/baselibrary/tools/stringtodicts.py +0 -33
  67. re_common/baselibrary/tools/workwechant_bot.py +0 -84
  68. re_common/baselibrary/utils/__init__.py +0 -0
  69. re_common/baselibrary/utils/baseaiohttp.py +0 -296
  70. re_common/baselibrary/utils/baseaiomysql.py +0 -87
  71. re_common/baselibrary/utils/baseallstep.py +0 -191
  72. re_common/baselibrary/utils/baseavro.py +0 -19
  73. re_common/baselibrary/utils/baseboto3.py +0 -291
  74. re_common/baselibrary/utils/basecsv.py +0 -32
  75. re_common/baselibrary/utils/basedict.py +0 -133
  76. re_common/baselibrary/utils/basedir.py +0 -241
  77. re_common/baselibrary/utils/baseencode.py +0 -351
  78. re_common/baselibrary/utils/baseencoding.py +0 -29
  79. re_common/baselibrary/utils/baseesdsl.py +0 -86
  80. re_common/baselibrary/utils/baseexcel.py +0 -264
  81. re_common/baselibrary/utils/baseexcept.py +0 -109
  82. re_common/baselibrary/utils/basefile.py +0 -654
  83. re_common/baselibrary/utils/baseftp.py +0 -214
  84. re_common/baselibrary/utils/basegzip.py +0 -60
  85. re_common/baselibrary/utils/basehdfs.py +0 -135
  86. re_common/baselibrary/utils/basehttpx.py +0 -268
  87. re_common/baselibrary/utils/baseip.py +0 -87
  88. re_common/baselibrary/utils/basejson.py +0 -2
  89. re_common/baselibrary/utils/baselist.py +0 -32
  90. re_common/baselibrary/utils/basemotor.py +0 -190
  91. re_common/baselibrary/utils/basemssql.py +0 -98
  92. re_common/baselibrary/utils/baseodbc.py +0 -113
  93. re_common/baselibrary/utils/basepandas.py +0 -302
  94. re_common/baselibrary/utils/basepeewee.py +0 -11
  95. re_common/baselibrary/utils/basepika.py +0 -180
  96. re_common/baselibrary/utils/basepydash.py +0 -143
  97. re_common/baselibrary/utils/basepymongo.py +0 -230
  98. re_common/baselibrary/utils/basequeue.py +0 -22
  99. re_common/baselibrary/utils/baserar.py +0 -57
  100. re_common/baselibrary/utils/baserequest.py +0 -279
  101. re_common/baselibrary/utils/baseset.py +0 -8
  102. re_common/baselibrary/utils/basesmb.py +0 -403
  103. re_common/baselibrary/utils/basestring.py +0 -382
  104. re_common/baselibrary/utils/basetime.py +0 -320
  105. re_common/baselibrary/utils/basetuple.py +0 -0
  106. re_common/baselibrary/utils/baseurl.py +0 -121
  107. re_common/baselibrary/utils/basezip.py +0 -57
  108. re_common/baselibrary/utils/core/__init__.py +0 -8
  109. re_common/baselibrary/utils/core/bottomutils.py +0 -18
  110. re_common/baselibrary/utils/core/mdeprecated.py +0 -327
  111. re_common/baselibrary/utils/core/mlamada.py +0 -16
  112. re_common/baselibrary/utils/core/msginfo.py +0 -25
  113. re_common/baselibrary/utils/core/requests_core.py +0 -103
  114. re_common/baselibrary/utils/fateadm.py +0 -429
  115. re_common/baselibrary/utils/importfun.py +0 -123
  116. re_common/baselibrary/utils/mfaker.py +0 -57
  117. re_common/baselibrary/utils/my_abc/__init__.py +0 -3
  118. re_common/baselibrary/utils/my_abc/better_abc.py +0 -32
  119. re_common/baselibrary/utils/mylogger.py +0 -414
  120. re_common/baselibrary/utils/myredisclient.py +0 -861
  121. re_common/baselibrary/utils/pipupgrade.py +0 -21
  122. re_common/baselibrary/utils/ringlist.py +0 -85
  123. re_common/baselibrary/utils/version_compare.py +0 -36
  124. re_common/baselibrary/utils/ydmhttp.py +0 -126
  125. re_common/facade/__init__.py +0 -1
  126. re_common/facade/lazy_import.py +0 -11
  127. re_common/facade/loggerfacade.py +0 -25
  128. re_common/facade/mysqlfacade.py +0 -467
  129. re_common/facade/now.py +0 -31
  130. re_common/facade/sqlite3facade.py +0 -257
  131. re_common/facade/use/__init__.py +0 -0
  132. re_common/facade/use/mq_use_facade.py +0 -83
  133. re_common/facade/use/proxy_use_facade.py +0 -20
  134. re_common/libtest/__init__.py +0 -0
  135. re_common/libtest/base_dict_test.py +0 -19
  136. re_common/libtest/baseavro_test.py +0 -13
  137. re_common/libtest/basefile_test.py +0 -14
  138. re_common/libtest/basemssql_test.py +0 -77
  139. re_common/libtest/baseodbc_test.py +0 -8
  140. re_common/libtest/basepandas_test.py +0 -38
  141. re_common/libtest/get_attr_test/__init__.py +0 -0
  142. re_common/libtest/get_attr_test/get_attr_test_settings.py +0 -14
  143. re_common/libtest/get_attr_test/settings.py +0 -55
  144. re_common/libtest/idencode_test.py +0 -54
  145. re_common/libtest/iniconfig_test.py +0 -35
  146. re_common/libtest/ip_test.py +0 -35
  147. re_common/libtest/merge_file_test.py +0 -20
  148. re_common/libtest/mfaker_test.py +0 -9
  149. re_common/libtest/mm3_test.py +0 -32
  150. re_common/libtest/mylogger_test.py +0 -89
  151. re_common/libtest/myparsel_test.py +0 -28
  152. re_common/libtest/mysql_test.py +0 -151
  153. re_common/libtest/pymongo_test.py +0 -21
  154. re_common/libtest/split_test.py +0 -12
  155. re_common/libtest/sqlite3_merge_test.py +0 -6
  156. re_common/libtest/sqlite3_test.py +0 -34
  157. re_common/libtest/tomlconfig_test.py +0 -30
  158. re_common/libtest/use_tools_test/__init__.py +0 -3
  159. re_common/libtest/user/__init__.py +0 -5
  160. re_common/studio/__init__.py +0 -5
  161. re_common/studio/assignment_expressions.py +0 -37
  162. re_common/studio/mydash/__init__.py +0 -0
  163. re_common/studio/mydash/test1.py +0 -19
  164. re_common/studio/pydashstudio/__init__.py +0 -0
  165. re_common/studio/pydashstudio/first.py +0 -9
  166. re_common/studio/streamlitstudio/__init__.py +0 -0
  167. re_common/studio/streamlitstudio/first_app.py +0 -66
  168. re_common/studio/streamlitstudio/uber_pickups.py +0 -24
  169. re_common/studio/test.py +0 -19
  170. re_common/vip/__init__.py +0 -0
  171. re_common/vip/base_step_process.py +0 -11
  172. re_common/vip/baseencodeid.py +0 -91
  173. re_common/vip/changetaskname.py +0 -28
  174. re_common/vip/core_var.py +0 -24
  175. re_common/vip/mmh3Hash.py +0 -90
  176. re_common/vip/proxy/__init__.py +0 -0
  177. re_common/vip/proxy/allproxys.py +0 -127
  178. re_common/vip/proxy/allproxys_thread.py +0 -159
  179. re_common/vip/proxy/cnki_proxy.py +0 -153
  180. re_common/vip/proxy/kuaidaili.py +0 -87
  181. re_common/vip/proxy/proxy_all.py +0 -113
  182. re_common/vip/proxy/update_kuaidaili_0.py +0 -42
  183. re_common/vip/proxy/wanfang_proxy.py +0 -152
  184. re_common/vip/proxy/wp_proxy_all.py +0 -182
  185. re_common/vip/read_rawid_to_txt.py +0 -92
  186. re_common/vip/title/__init__.py +0 -5
  187. re_common/vip/title/transform/TransformBookTitleToZt.py +0 -125
  188. re_common/vip/title/transform/TransformConferenceTitleToZt.py +0 -139
  189. re_common/vip/title/transform/TransformCstadTitleToZt.py +0 -196
  190. re_common/vip/title/transform/TransformJournalTitleToZt.py +0 -203
  191. re_common/vip/title/transform/TransformPatentTitleToZt.py +0 -132
  192. re_common/vip/title/transform/TransformRegulationTitleToZt.py +0 -114
  193. re_common/vip/title/transform/TransformStandardTitleToZt.py +0 -135
  194. re_common/vip/title/transform/TransformThesisTitleToZt.py +0 -135
  195. re_common/vip/title/transform/__init__.py +0 -11
  196. re_common-2.0.0.dist-info/RECORD +0 -209
  197. /re_common/{baselibrary/database/__init__.py → v2/baselibrary/tools/list_tools.py} +0 -0
  198. {re_common-2.0.0.dist-info → re_common-2.0.1.dist-info}/LICENSE +0 -0
  199. {re_common-2.0.0.dist-info → re_common-2.0.1.dist-info}/WHEEL +0 -0
  200. {re_common-2.0.0.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