re-common 10.0.22__py3-none-any.whl → 10.0.24__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.
- re_common/baselibrary/__init__.py +4 -4
- re_common/baselibrary/baseabs/__init__.py +6 -6
- re_common/baselibrary/baseabs/baseabs.py +26 -26
- re_common/baselibrary/database/mbuilder.py +132 -132
- re_common/baselibrary/database/moudle.py +93 -93
- re_common/baselibrary/database/msqlite3.py +194 -194
- re_common/baselibrary/database/mysql.py +169 -169
- re_common/baselibrary/database/sql_factory.py +26 -26
- re_common/baselibrary/mthread/MThreadingRun.py +486 -486
- re_common/baselibrary/mthread/MThreadingRunEvent.py +349 -349
- re_common/baselibrary/mthread/__init__.py +2 -2
- re_common/baselibrary/mthread/mythreading.py +695 -695
- re_common/baselibrary/pakge_other/socks.py +404 -404
- re_common/baselibrary/readconfig/config_factory.py +18 -18
- re_common/baselibrary/readconfig/ini_config.py +317 -317
- re_common/baselibrary/readconfig/toml_config.py +49 -49
- re_common/baselibrary/temporary/envdata.py +36 -36
- re_common/baselibrary/tools/all_requests/aiohttp_request.py +118 -118
- re_common/baselibrary/tools/all_requests/httpx_requet.py +102 -102
- re_common/baselibrary/tools/all_requests/mrequest.py +412 -412
- re_common/baselibrary/tools/all_requests/requests_request.py +81 -81
- re_common/baselibrary/tools/batch_compre/bijiao_batch.py +31 -31
- re_common/baselibrary/tools/contrast_db3.py +123 -123
- re_common/baselibrary/tools/copy_file.py +39 -39
- re_common/baselibrary/tools/db3_2_sizedb3.py +102 -102
- re_common/baselibrary/tools/foreachgz.py +39 -39
- re_common/baselibrary/tools/get_attr.py +10 -10
- re_common/baselibrary/tools/image_to_pdf.py +61 -61
- re_common/baselibrary/tools/java_code_deal.py +139 -139
- re_common/baselibrary/tools/javacode.py +79 -79
- re_common/baselibrary/tools/mdb_db3.py +48 -48
- re_common/baselibrary/tools/merge_file.py +171 -171
- re_common/baselibrary/tools/merge_gz_file.py +165 -165
- re_common/baselibrary/tools/mhdfstools/down_hdfs_files.py +42 -42
- re_common/baselibrary/tools/mhdfstools/hdfst.py +42 -42
- re_common/baselibrary/tools/mhdfstools/up_hdfs_files.py +38 -38
- re_common/baselibrary/tools/mongo_tools.py +50 -50
- re_common/baselibrary/tools/move_file.py +170 -170
- re_common/baselibrary/tools/move_mongo/mongo_table_to_file.py +63 -63
- re_common/baselibrary/tools/move_mongo/move_mongo_table.py +354 -354
- re_common/baselibrary/tools/move_mongo/use_mttf.py +18 -18
- re_common/baselibrary/tools/move_mongo/use_mv.py +93 -93
- re_common/baselibrary/tools/mpandas/mpandasreadexcel.py +125 -125
- re_common/baselibrary/tools/mpandas/pandas_visualization.py +7 -7
- re_common/baselibrary/tools/myparsel.py +104 -104
- re_common/baselibrary/tools/rename_dir_file.py +37 -37
- re_common/baselibrary/tools/sequoiadb_utils.py +398 -398
- re_common/baselibrary/tools/split_line_to_many.py +25 -25
- re_common/baselibrary/tools/stringtodicts.py +33 -33
- re_common/baselibrary/tools/workwechant_bot.py +84 -84
- re_common/baselibrary/utils/baseaiohttp.py +296 -296
- re_common/baselibrary/utils/baseaiomysql.py +87 -87
- re_common/baselibrary/utils/baseallstep.py +191 -191
- re_common/baselibrary/utils/baseavro.py +19 -19
- re_common/baselibrary/utils/baseboto3.py +291 -291
- re_common/baselibrary/utils/basecsv.py +32 -32
- re_common/baselibrary/utils/basedict.py +133 -133
- re_common/baselibrary/utils/basedir.py +241 -241
- re_common/baselibrary/utils/baseencode.py +351 -351
- re_common/baselibrary/utils/baseencoding.py +28 -28
- re_common/baselibrary/utils/baseesdsl.py +86 -86
- re_common/baselibrary/utils/baseexcel.py +264 -264
- re_common/baselibrary/utils/baseexcept.py +109 -109
- re_common/baselibrary/utils/basefile.py +654 -654
- re_common/baselibrary/utils/baseftp.py +214 -214
- re_common/baselibrary/utils/basegzip.py +60 -60
- re_common/baselibrary/utils/basehdfs.py +135 -135
- re_common/baselibrary/utils/basehttpx.py +268 -268
- re_common/baselibrary/utils/baseip.py +87 -87
- re_common/baselibrary/utils/basejson.py +2 -2
- re_common/baselibrary/utils/baselist.py +32 -32
- re_common/baselibrary/utils/basemotor.py +190 -190
- re_common/baselibrary/utils/basemssql.py +98 -98
- re_common/baselibrary/utils/baseodbc.py +113 -113
- re_common/baselibrary/utils/basepandas.py +302 -302
- re_common/baselibrary/utils/basepeewee.py +11 -11
- re_common/baselibrary/utils/basepika.py +180 -180
- re_common/baselibrary/utils/basepydash.py +143 -143
- re_common/baselibrary/utils/basepymongo.py +230 -230
- re_common/baselibrary/utils/basequeue.py +22 -22
- re_common/baselibrary/utils/baserar.py +57 -57
- re_common/baselibrary/utils/baserequest.py +279 -279
- re_common/baselibrary/utils/baseset.py +8 -8
- re_common/baselibrary/utils/basesmb.py +403 -403
- re_common/baselibrary/utils/basestring.py +382 -382
- re_common/baselibrary/utils/basetime.py +320 -320
- re_common/baselibrary/utils/baseurl.py +121 -121
- re_common/baselibrary/utils/basezip.py +57 -57
- re_common/baselibrary/utils/core/__init__.py +7 -7
- re_common/baselibrary/utils/core/bottomutils.py +18 -18
- re_common/baselibrary/utils/core/mdeprecated.py +327 -327
- re_common/baselibrary/utils/core/mlamada.py +16 -16
- re_common/baselibrary/utils/core/msginfo.py +25 -25
- re_common/baselibrary/utils/core/requests_core.py +103 -103
- re_common/baselibrary/utils/fateadm.py +429 -429
- re_common/baselibrary/utils/importfun.py +123 -123
- re_common/baselibrary/utils/mfaker.py +57 -57
- re_common/baselibrary/utils/my_abc/__init__.py +3 -3
- re_common/baselibrary/utils/my_abc/better_abc.py +32 -32
- re_common/baselibrary/utils/mylogger.py +414 -414
- re_common/baselibrary/utils/myredisclient.py +861 -861
- re_common/baselibrary/utils/pipupgrade.py +21 -21
- re_common/baselibrary/utils/ringlist.py +85 -85
- re_common/baselibrary/utils/version_compare.py +36 -36
- re_common/baselibrary/utils/ydmhttp.py +126 -126
- re_common/facade/lazy_import.py +11 -11
- re_common/facade/loggerfacade.py +25 -25
- re_common/facade/mysqlfacade.py +467 -467
- re_common/facade/now.py +31 -31
- re_common/facade/sqlite3facade.py +257 -257
- re_common/facade/use/mq_use_facade.py +83 -83
- re_common/facade/use/proxy_use_facade.py +19 -19
- re_common/libtest/base_dict_test.py +19 -19
- re_common/libtest/baseavro_test.py +13 -13
- re_common/libtest/basefile_test.py +14 -14
- re_common/libtest/basemssql_test.py +77 -77
- re_common/libtest/baseodbc_test.py +7 -7
- re_common/libtest/basepandas_test.py +38 -38
- re_common/libtest/get_attr_test/get_attr_test_settings.py +14 -14
- re_common/libtest/get_attr_test/settings.py +54 -54
- re_common/libtest/idencode_test.py +53 -53
- re_common/libtest/iniconfig_test.py +35 -35
- re_common/libtest/ip_test.py +34 -34
- re_common/libtest/merge_file_test.py +20 -20
- re_common/libtest/mfaker_test.py +8 -8
- re_common/libtest/mm3_test.py +31 -31
- re_common/libtest/mylogger_test.py +88 -88
- re_common/libtest/myparsel_test.py +27 -27
- re_common/libtest/mysql_test.py +151 -151
- re_common/libtest/pymongo_test.py +21 -21
- re_common/libtest/split_test.py +11 -11
- re_common/libtest/sqlite3_merge_test.py +5 -5
- re_common/libtest/sqlite3_test.py +34 -34
- re_common/libtest/tomlconfig_test.py +30 -30
- re_common/libtest/use_tools_test/__init__.py +2 -2
- re_common/libtest/user/__init__.py +4 -4
- re_common/studio/__init__.py +4 -4
- re_common/studio/assignment_expressions.py +36 -36
- re_common/studio/mydash/test1.py +18 -18
- re_common/studio/pydashstudio/first.py +9 -9
- re_common/studio/streamlitstudio/first_app.py +65 -65
- re_common/studio/streamlitstudio/uber_pickups.py +23 -23
- re_common/studio/test.py +18 -18
- re_common/v2/baselibrary/business_utils/BusinessStringUtil.py +195 -0
- re_common/v2/baselibrary/business_utils/__init__.py +0 -0
- re_common/v2/baselibrary/business_utils/rel_tools.py +6 -0
- re_common/v2/baselibrary/decorators/utils.py +59 -59
- re_common/v2/baselibrary/s3object/baseboto3.py +230 -230
- re_common/v2/baselibrary/tools/WeChatRobot.py +95 -79
- re_common/v2/baselibrary/tools/ac_ahocorasick.py +75 -75
- re_common/v2/baselibrary/tools/dict_tools.py +37 -37
- re_common/v2/baselibrary/tools/dolphinscheduler.py +187 -187
- re_common/v2/baselibrary/tools/hdfs_data_processer.py +338 -338
- re_common/v2/baselibrary/tools/list_tools.py +65 -65
- re_common/v2/baselibrary/tools/search_hash_tools.py +54 -54
- re_common/v2/baselibrary/tools/text_matcher.py +326 -326
- re_common/v2/baselibrary/tools/unionfind_tools.py +60 -60
- re_common/v2/baselibrary/utils/BusinessStringUtil.py +196 -196
- re_common/v2/baselibrary/utils/author_smi.py +360 -360
- re_common/v2/baselibrary/utils/base_string_similarity.py +158 -158
- re_common/v2/baselibrary/utils/basedict.py +37 -37
- re_common/v2/baselibrary/utils/basehdfs.py +161 -161
- re_common/v2/baselibrary/utils/basepika.py +180 -180
- re_common/v2/baselibrary/utils/basetime.py +77 -77
- re_common/v2/baselibrary/utils/db.py +38 -38
- re_common/v2/baselibrary/utils/json_cls.py +16 -16
- re_common/v2/baselibrary/utils/mq.py +83 -83
- re_common/v2/baselibrary/utils/n_ary_expression_tree.py +243 -243
- re_common/v2/baselibrary/utils/string_bool.py +186 -149
- re_common/v2/baselibrary/utils/string_clear.py +227 -204
- re_common/v2/baselibrary/utils/string_smi.py +18 -18
- re_common/v2/baselibrary/utils/stringutils.py +213 -213
- re_common/vip/base_step_process.py +11 -11
- re_common/vip/baseencodeid.py +90 -90
- re_common/vip/changetaskname.py +28 -28
- re_common/vip/core_var.py +24 -24
- re_common/vip/mmh3Hash.py +89 -89
- re_common/vip/proxy/allproxys.py +127 -127
- re_common/vip/proxy/allproxys_thread.py +159 -159
- re_common/vip/proxy/cnki_proxy.py +153 -153
- re_common/vip/proxy/kuaidaili.py +87 -87
- re_common/vip/proxy/proxy_all.py +113 -113
- re_common/vip/proxy/update_kuaidaili_0.py +42 -42
- re_common/vip/proxy/wanfang_proxy.py +152 -152
- re_common/vip/proxy/wp_proxy_all.py +181 -181
- re_common/vip/read_rawid_to_txt.py +91 -91
- re_common/vip/title/__init__.py +5 -5
- re_common/vip/title/transform/TransformBookTitleToZt.py +125 -125
- re_common/vip/title/transform/TransformConferenceTitleToZt.py +139 -139
- re_common/vip/title/transform/TransformCstadTitleToZt.py +195 -195
- re_common/vip/title/transform/TransformJournalTitleToZt.py +203 -203
- re_common/vip/title/transform/TransformPatentTitleToZt.py +132 -132
- re_common/vip/title/transform/TransformRegulationTitleToZt.py +114 -114
- re_common/vip/title/transform/TransformStandardTitleToZt.py +135 -135
- re_common/vip/title/transform/TransformThesisTitleToZt.py +135 -135
- re_common/vip/title/transform/__init__.py +10 -10
- {re_common-10.0.22.dist-info → re_common-10.0.24.dist-info}/LICENSE +201 -201
- {re_common-10.0.22.dist-info → re_common-10.0.24.dist-info}/METADATA +16 -16
- re_common-10.0.24.dist-info/RECORD +230 -0
- {re_common-10.0.22.dist-info → re_common-10.0.24.dist-info}/WHEEL +1 -1
- re_common-10.0.22.dist-info/RECORD +0 -227
- {re_common-10.0.22.dist-info → re_common-10.0.24.dist-info}/top_level.txt +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from .readconfig.ini_config import IniConfig
|
|
2
|
-
from .utils.mylogger import MLogger
|
|
3
|
-
|
|
4
|
-
__all__ = ["MLogger", "IniConfig"]
|
|
1
|
+
from .readconfig.ini_config import IniConfig
|
|
2
|
+
from .utils.mylogger import MLogger
|
|
3
|
+
|
|
4
|
+
__all__ = ["MLogger", "IniConfig"]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
from .baseabs import BaseAbs
|
|
2
|
-
|
|
3
|
-
from ..readconfig.ini_config import IniConfig
|
|
4
|
-
from ..utils.mylogger import MLogger
|
|
5
|
-
from ..database.mbuilder import MysqlBuilderAbstract
|
|
6
|
-
|
|
1
|
+
from .baseabs import BaseAbs
|
|
2
|
+
|
|
3
|
+
from ..readconfig.ini_config import IniConfig
|
|
4
|
+
from ..utils.mylogger import MLogger
|
|
5
|
+
from ..database.mbuilder import MysqlBuilderAbstract
|
|
6
|
+
|
|
7
7
|
__all__ = ["BaseAbs", "MysqlBuilderAbstract", "IniConfig", "MLogger"]
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
class BaseAbs(object):
|
|
4
|
-
"""
|
|
5
|
-
抽象工厂模式,方便管理和引用 目前主要将配置文件和sql相关的库引入了抽象工厂模式中
|
|
6
|
-
"""
|
|
7
|
-
@staticmethod
|
|
8
|
-
def get_sql_factory():
|
|
9
|
-
"""
|
|
10
|
-
sql相关的工厂
|
|
11
|
-
:return:
|
|
12
|
-
"""
|
|
13
|
-
from re_common.baselibrary.database.sql_factory import SqlFactory
|
|
14
|
-
return SqlFactory()
|
|
15
|
-
|
|
16
|
-
@staticmethod
|
|
17
|
-
def get_config_factory():
|
|
18
|
-
"""
|
|
19
|
-
配置文件相关的工厂
|
|
20
|
-
:return:
|
|
21
|
-
"""
|
|
22
|
-
from re_common.baselibrary.readconfig.config_factory import ConfigFactory
|
|
23
|
-
return ConfigFactory()
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
class BaseAbs(object):
|
|
4
|
+
"""
|
|
5
|
+
抽象工厂模式,方便管理和引用 目前主要将配置文件和sql相关的库引入了抽象工厂模式中
|
|
6
|
+
"""
|
|
7
|
+
@staticmethod
|
|
8
|
+
def get_sql_factory():
|
|
9
|
+
"""
|
|
10
|
+
sql相关的工厂
|
|
11
|
+
:return:
|
|
12
|
+
"""
|
|
13
|
+
from re_common.baselibrary.database.sql_factory import SqlFactory
|
|
14
|
+
return SqlFactory()
|
|
15
|
+
|
|
16
|
+
@staticmethod
|
|
17
|
+
def get_config_factory():
|
|
18
|
+
"""
|
|
19
|
+
配置文件相关的工厂
|
|
20
|
+
:return:
|
|
21
|
+
"""
|
|
22
|
+
from re_common.baselibrary.readconfig.config_factory import ConfigFactory
|
|
23
|
+
return ConfigFactory()
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
@@ -1,132 +1,132 @@
|
|
|
1
|
-
from abc import ABCMeta, abstractmethod
|
|
2
|
-
|
|
3
|
-
from re_common.baselibrary.database.moudle import SqlMoudle, Sqlite3Moudle
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class MysqlBuilderAbstract:
|
|
7
|
-
__metaclass__ = ABCMeta
|
|
8
|
-
|
|
9
|
-
@abstractmethod
|
|
10
|
-
def build_server_address(self, host):
|
|
11
|
-
pass
|
|
12
|
-
|
|
13
|
-
@abstractmethod
|
|
14
|
-
def build_username(self, user):
|
|
15
|
-
pass
|
|
16
|
-
|
|
17
|
-
@abstractmethod
|
|
18
|
-
def build_password(self, passwd):
|
|
19
|
-
pass
|
|
20
|
-
|
|
21
|
-
@abstractmethod
|
|
22
|
-
def build_port(self, port):
|
|
23
|
-
pass
|
|
24
|
-
|
|
25
|
-
@abstractmethod
|
|
26
|
-
def use_db(self, db):
|
|
27
|
-
pass
|
|
28
|
-
|
|
29
|
-
@abstractmethod
|
|
30
|
-
def build_chart(self, chartset):
|
|
31
|
-
pass
|
|
32
|
-
|
|
33
|
-
@abstractmethod
|
|
34
|
-
def get_moudle(self):
|
|
35
|
-
pass
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
class Sqlite3BuilderAbstract:
|
|
39
|
-
__metaclass__ = ABCMeta
|
|
40
|
-
|
|
41
|
-
@abstractmethod
|
|
42
|
-
def build_file_path(self, dbpath):
|
|
43
|
-
pass
|
|
44
|
-
|
|
45
|
-
@abstractmethod
|
|
46
|
-
def build_isolation_level(self):
|
|
47
|
-
pass
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
class MysqlBuilder(MysqlBuilderAbstract):
|
|
51
|
-
def __init__(self, configfile, configname, keytransformdicts=None):
|
|
52
|
-
self.sqlmoudle = SqlMoudle()
|
|
53
|
-
|
|
54
|
-
from re_common.baselibrary.readconfig.ini_config import IniConfig
|
|
55
|
-
self.ic = IniConfig(configfile).builder()
|
|
56
|
-
self.configfile = configfile
|
|
57
|
-
self.configname = configname
|
|
58
|
-
# 使用key转换器转换key
|
|
59
|
-
self.keytransformdicts = keytransformdicts
|
|
60
|
-
"""
|
|
61
|
-
python2
|
|
62
|
-
self.config.readfp(open(configfile, 'rb'))
|
|
63
|
-
python3
|
|
64
|
-
self.config.read_file(open(configfile, 'r'))
|
|
65
|
-
"""
|
|
66
|
-
|
|
67
|
-
def build_port(self, port):
|
|
68
|
-
self.sqlmoudle.port = int(self.ic.get_value(self.configname, port))
|
|
69
|
-
|
|
70
|
-
def build_server_address(self, host):
|
|
71
|
-
self.sqlmoudle.host = self.ic.get_value(self.configname, host)
|
|
72
|
-
|
|
73
|
-
def build_password(self, passwd):
|
|
74
|
-
self.sqlmoudle.passwd = self.ic.get_value(self.configname, passwd)
|
|
75
|
-
|
|
76
|
-
def use_db(self, db):
|
|
77
|
-
self.sqlmoudle.db = self.ic.get_value(self.configname, db)
|
|
78
|
-
|
|
79
|
-
def build_username(self, user):
|
|
80
|
-
self.sqlmoudle.user = self.ic.get_value(self.configname, user)
|
|
81
|
-
|
|
82
|
-
def build_chart(self, chartset):
|
|
83
|
-
self.sqlmoudle.charset = self.ic.get_value(self.configname, chartset)
|
|
84
|
-
|
|
85
|
-
def get_moudle(self):
|
|
86
|
-
return self.sqlmoudle
|
|
87
|
-
|
|
88
|
-
def build_all(self):
|
|
89
|
-
if not self.keytransformdicts:
|
|
90
|
-
self.keytransformdicts = {"port": "port", "host": "host", "passwd": "passwd", "user": "user", "db": "db",
|
|
91
|
-
"chartset": "chartset"}
|
|
92
|
-
self.build_port(self.keytransformdicts["port"])
|
|
93
|
-
self.build_server_address(self.keytransformdicts["host"])
|
|
94
|
-
self.build_password(self.keytransformdicts["passwd"])
|
|
95
|
-
self.build_username(self.keytransformdicts["user"])
|
|
96
|
-
self.use_db(self.keytransformdicts["db"])
|
|
97
|
-
self.build_chart(self.keytransformdicts["chartset"])
|
|
98
|
-
return self
|
|
99
|
-
|
|
100
|
-
def get_tuples(self):
|
|
101
|
-
return self.sqlmoudle.host, self.sqlmoudle.user, self.sqlmoudle.passwd, self.sqlmoudle.port
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
class Sqlite3Builder(Sqlite3BuilderAbstract):
|
|
105
|
-
def __init__(self, configfile="", sec=""):
|
|
106
|
-
self.sqlite3moudle = Sqlite3Moudle()
|
|
107
|
-
from re_common.baselibrary.readconfig.ini_config import IniConfig
|
|
108
|
-
self.ic = IniConfig(configfile).builder()
|
|
109
|
-
self.configfile = configfile
|
|
110
|
-
self.sec = sec
|
|
111
|
-
|
|
112
|
-
def build_file_path(self, dbpath='', opt="dbpath"):
|
|
113
|
-
if dbpath:
|
|
114
|
-
self.sqlite3moudle.database = dbpath
|
|
115
|
-
else:
|
|
116
|
-
self.sqlite3moudle.database = self.ic.get_value(self.sec, opt)
|
|
117
|
-
return self
|
|
118
|
-
|
|
119
|
-
def build_timeout(self, timeout):
|
|
120
|
-
self.sqlite3moudle.timeout = timeout
|
|
121
|
-
return self
|
|
122
|
-
|
|
123
|
-
def build_isolation_level(self):
|
|
124
|
-
pass
|
|
125
|
-
|
|
126
|
-
def build_all(self):
|
|
127
|
-
self.build_file_path()
|
|
128
|
-
self.build_isolation_level()
|
|
129
|
-
return self
|
|
130
|
-
|
|
131
|
-
def get_moudle(self):
|
|
132
|
-
return self.sqlite3moudle
|
|
1
|
+
from abc import ABCMeta, abstractmethod
|
|
2
|
+
|
|
3
|
+
from re_common.baselibrary.database.moudle import SqlMoudle, Sqlite3Moudle
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class MysqlBuilderAbstract:
|
|
7
|
+
__metaclass__ = ABCMeta
|
|
8
|
+
|
|
9
|
+
@abstractmethod
|
|
10
|
+
def build_server_address(self, host):
|
|
11
|
+
pass
|
|
12
|
+
|
|
13
|
+
@abstractmethod
|
|
14
|
+
def build_username(self, user):
|
|
15
|
+
pass
|
|
16
|
+
|
|
17
|
+
@abstractmethod
|
|
18
|
+
def build_password(self, passwd):
|
|
19
|
+
pass
|
|
20
|
+
|
|
21
|
+
@abstractmethod
|
|
22
|
+
def build_port(self, port):
|
|
23
|
+
pass
|
|
24
|
+
|
|
25
|
+
@abstractmethod
|
|
26
|
+
def use_db(self, db):
|
|
27
|
+
pass
|
|
28
|
+
|
|
29
|
+
@abstractmethod
|
|
30
|
+
def build_chart(self, chartset):
|
|
31
|
+
pass
|
|
32
|
+
|
|
33
|
+
@abstractmethod
|
|
34
|
+
def get_moudle(self):
|
|
35
|
+
pass
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class Sqlite3BuilderAbstract:
|
|
39
|
+
__metaclass__ = ABCMeta
|
|
40
|
+
|
|
41
|
+
@abstractmethod
|
|
42
|
+
def build_file_path(self, dbpath):
|
|
43
|
+
pass
|
|
44
|
+
|
|
45
|
+
@abstractmethod
|
|
46
|
+
def build_isolation_level(self):
|
|
47
|
+
pass
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class MysqlBuilder(MysqlBuilderAbstract):
|
|
51
|
+
def __init__(self, configfile, configname, keytransformdicts=None):
|
|
52
|
+
self.sqlmoudle = SqlMoudle()
|
|
53
|
+
|
|
54
|
+
from re_common.baselibrary.readconfig.ini_config import IniConfig
|
|
55
|
+
self.ic = IniConfig(configfile).builder()
|
|
56
|
+
self.configfile = configfile
|
|
57
|
+
self.configname = configname
|
|
58
|
+
# 使用key转换器转换key
|
|
59
|
+
self.keytransformdicts = keytransformdicts
|
|
60
|
+
"""
|
|
61
|
+
python2
|
|
62
|
+
self.config.readfp(open(configfile, 'rb'))
|
|
63
|
+
python3
|
|
64
|
+
self.config.read_file(open(configfile, 'r'))
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
def build_port(self, port):
|
|
68
|
+
self.sqlmoudle.port = int(self.ic.get_value(self.configname, port))
|
|
69
|
+
|
|
70
|
+
def build_server_address(self, host):
|
|
71
|
+
self.sqlmoudle.host = self.ic.get_value(self.configname, host)
|
|
72
|
+
|
|
73
|
+
def build_password(self, passwd):
|
|
74
|
+
self.sqlmoudle.passwd = self.ic.get_value(self.configname, passwd)
|
|
75
|
+
|
|
76
|
+
def use_db(self, db):
|
|
77
|
+
self.sqlmoudle.db = self.ic.get_value(self.configname, db)
|
|
78
|
+
|
|
79
|
+
def build_username(self, user):
|
|
80
|
+
self.sqlmoudle.user = self.ic.get_value(self.configname, user)
|
|
81
|
+
|
|
82
|
+
def build_chart(self, chartset):
|
|
83
|
+
self.sqlmoudle.charset = self.ic.get_value(self.configname, chartset)
|
|
84
|
+
|
|
85
|
+
def get_moudle(self):
|
|
86
|
+
return self.sqlmoudle
|
|
87
|
+
|
|
88
|
+
def build_all(self):
|
|
89
|
+
if not self.keytransformdicts:
|
|
90
|
+
self.keytransformdicts = {"port": "port", "host": "host", "passwd": "passwd", "user": "user", "db": "db",
|
|
91
|
+
"chartset": "chartset"}
|
|
92
|
+
self.build_port(self.keytransformdicts["port"])
|
|
93
|
+
self.build_server_address(self.keytransformdicts["host"])
|
|
94
|
+
self.build_password(self.keytransformdicts["passwd"])
|
|
95
|
+
self.build_username(self.keytransformdicts["user"])
|
|
96
|
+
self.use_db(self.keytransformdicts["db"])
|
|
97
|
+
self.build_chart(self.keytransformdicts["chartset"])
|
|
98
|
+
return self
|
|
99
|
+
|
|
100
|
+
def get_tuples(self):
|
|
101
|
+
return self.sqlmoudle.host, self.sqlmoudle.user, self.sqlmoudle.passwd, self.sqlmoudle.port
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
class Sqlite3Builder(Sqlite3BuilderAbstract):
|
|
105
|
+
def __init__(self, configfile="", sec=""):
|
|
106
|
+
self.sqlite3moudle = Sqlite3Moudle()
|
|
107
|
+
from re_common.baselibrary.readconfig.ini_config import IniConfig
|
|
108
|
+
self.ic = IniConfig(configfile).builder()
|
|
109
|
+
self.configfile = configfile
|
|
110
|
+
self.sec = sec
|
|
111
|
+
|
|
112
|
+
def build_file_path(self, dbpath='', opt="dbpath"):
|
|
113
|
+
if dbpath:
|
|
114
|
+
self.sqlite3moudle.database = dbpath
|
|
115
|
+
else:
|
|
116
|
+
self.sqlite3moudle.database = self.ic.get_value(self.sec, opt)
|
|
117
|
+
return self
|
|
118
|
+
|
|
119
|
+
def build_timeout(self, timeout):
|
|
120
|
+
self.sqlite3moudle.timeout = timeout
|
|
121
|
+
return self
|
|
122
|
+
|
|
123
|
+
def build_isolation_level(self):
|
|
124
|
+
pass
|
|
125
|
+
|
|
126
|
+
def build_all(self):
|
|
127
|
+
self.build_file_path()
|
|
128
|
+
self.build_isolation_level()
|
|
129
|
+
return self
|
|
130
|
+
|
|
131
|
+
def get_moudle(self):
|
|
132
|
+
return self.sqlite3moudle
|
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
#!/usr/bin/env python
|
|
2
|
-
# -*- coding:utf-8 -*-
|
|
3
|
-
from pymysql.cursors import Cursor
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
# pymysql的moudle
|
|
7
|
-
class SqlMoudle(object):
|
|
8
|
-
def __init__(self):
|
|
9
|
-
"""
|
|
10
|
-
host
|
|
11
|
-
string, host to connect
|
|
12
|
-
|
|
13
|
-
user
|
|
14
|
-
string, user to connect as
|
|
15
|
-
|
|
16
|
-
passwd
|
|
17
|
-
string, password to use
|
|
18
|
-
|
|
19
|
-
db
|
|
20
|
-
string, database to use
|
|
21
|
-
|
|
22
|
-
port
|
|
23
|
-
integer, TCP/IP port to connect to
|
|
24
|
-
|
|
25
|
-
这是一个标准连接的所有参数
|
|
26
|
-
cursorclass pymysql.cursors.DictCursor 表示返回数据为dicts
|
|
27
|
-
"""
|
|
28
|
-
self.host = None
|
|
29
|
-
self.user = None
|
|
30
|
-
self.password = ""
|
|
31
|
-
self.database = None
|
|
32
|
-
self.port = 3306
|
|
33
|
-
self.unix_socket = None
|
|
34
|
-
self.charset = ''
|
|
35
|
-
self.sql_mode = None
|
|
36
|
-
self.read_default_file = None
|
|
37
|
-
self.conv = None
|
|
38
|
-
self.use_unicode = True
|
|
39
|
-
self.client_flag = 0
|
|
40
|
-
self.cursorclass = Cursor
|
|
41
|
-
self.init_command = None
|
|
42
|
-
self.connect_timeout = 10
|
|
43
|
-
self.ssl = None
|
|
44
|
-
self.read_default_group = None
|
|
45
|
-
self.compress = None
|
|
46
|
-
self.named_pipe = None
|
|
47
|
-
self.autocommit = False
|
|
48
|
-
self.db = None
|
|
49
|
-
self.passwd = None
|
|
50
|
-
self.local_infile = False
|
|
51
|
-
self.max_allowed_packet = 16 * 1024 * 1024
|
|
52
|
-
self.defer_connect = False
|
|
53
|
-
self.auth_plugin_map = None
|
|
54
|
-
self.read_timeout = None
|
|
55
|
-
self.write_timeout = None
|
|
56
|
-
self.bind_address = None
|
|
57
|
-
self.binary_prefix = False
|
|
58
|
-
self.program_name = None
|
|
59
|
-
self.server_public_key = None
|
|
60
|
-
|
|
61
|
-
# @property
|
|
62
|
-
# def get_serveraddress(self):
|
|
63
|
-
# return self._serveraddress
|
|
64
|
-
#
|
|
65
|
-
# @get_serveraddress.setter
|
|
66
|
-
# def set_serveraddress(self,serveraddress):
|
|
67
|
-
# self._serveraddress = serveraddress
|
|
68
|
-
#
|
|
69
|
-
# @get_serveraddress.deleter
|
|
70
|
-
# def del_serveraddress(self):
|
|
71
|
-
# del self._serveraddress
|
|
72
|
-
|
|
73
|
-
def to_dict(self):
|
|
74
|
-
return self.__dict__
|
|
75
|
-
|
|
76
|
-
def __str__(self):
|
|
77
|
-
return str(self.__dict__)
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
# sqlite3的 moudle
|
|
81
|
-
class Sqlite3Moudle(object):
|
|
82
|
-
def __init__(self):
|
|
83
|
-
self.database = ""
|
|
84
|
-
self.timeout = None
|
|
85
|
-
self.detect_types = None
|
|
86
|
-
self.isolation_level = None
|
|
87
|
-
self.check_same_thread = None
|
|
88
|
-
self.factory = None
|
|
89
|
-
self.cached_statements = None
|
|
90
|
-
# self.uri = None
|
|
91
|
-
|
|
92
|
-
def to_dict(self):
|
|
93
|
-
return self.__dict__
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
# -*- coding:utf-8 -*-
|
|
3
|
+
from pymysql.cursors import Cursor
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
# pymysql的moudle
|
|
7
|
+
class SqlMoudle(object):
|
|
8
|
+
def __init__(self):
|
|
9
|
+
"""
|
|
10
|
+
host
|
|
11
|
+
string, host to connect
|
|
12
|
+
|
|
13
|
+
user
|
|
14
|
+
string, user to connect as
|
|
15
|
+
|
|
16
|
+
passwd
|
|
17
|
+
string, password to use
|
|
18
|
+
|
|
19
|
+
db
|
|
20
|
+
string, database to use
|
|
21
|
+
|
|
22
|
+
port
|
|
23
|
+
integer, TCP/IP port to connect to
|
|
24
|
+
|
|
25
|
+
这是一个标准连接的所有参数
|
|
26
|
+
cursorclass pymysql.cursors.DictCursor 表示返回数据为dicts
|
|
27
|
+
"""
|
|
28
|
+
self.host = None
|
|
29
|
+
self.user = None
|
|
30
|
+
self.password = ""
|
|
31
|
+
self.database = None
|
|
32
|
+
self.port = 3306
|
|
33
|
+
self.unix_socket = None
|
|
34
|
+
self.charset = ''
|
|
35
|
+
self.sql_mode = None
|
|
36
|
+
self.read_default_file = None
|
|
37
|
+
self.conv = None
|
|
38
|
+
self.use_unicode = True
|
|
39
|
+
self.client_flag = 0
|
|
40
|
+
self.cursorclass = Cursor
|
|
41
|
+
self.init_command = None
|
|
42
|
+
self.connect_timeout = 10
|
|
43
|
+
self.ssl = None
|
|
44
|
+
self.read_default_group = None
|
|
45
|
+
self.compress = None
|
|
46
|
+
self.named_pipe = None
|
|
47
|
+
self.autocommit = False
|
|
48
|
+
self.db = None
|
|
49
|
+
self.passwd = None
|
|
50
|
+
self.local_infile = False
|
|
51
|
+
self.max_allowed_packet = 16 * 1024 * 1024
|
|
52
|
+
self.defer_connect = False
|
|
53
|
+
self.auth_plugin_map = None
|
|
54
|
+
self.read_timeout = None
|
|
55
|
+
self.write_timeout = None
|
|
56
|
+
self.bind_address = None
|
|
57
|
+
self.binary_prefix = False
|
|
58
|
+
self.program_name = None
|
|
59
|
+
self.server_public_key = None
|
|
60
|
+
|
|
61
|
+
# @property
|
|
62
|
+
# def get_serveraddress(self):
|
|
63
|
+
# return self._serveraddress
|
|
64
|
+
#
|
|
65
|
+
# @get_serveraddress.setter
|
|
66
|
+
# def set_serveraddress(self,serveraddress):
|
|
67
|
+
# self._serveraddress = serveraddress
|
|
68
|
+
#
|
|
69
|
+
# @get_serveraddress.deleter
|
|
70
|
+
# def del_serveraddress(self):
|
|
71
|
+
# del self._serveraddress
|
|
72
|
+
|
|
73
|
+
def to_dict(self):
|
|
74
|
+
return self.__dict__
|
|
75
|
+
|
|
76
|
+
def __str__(self):
|
|
77
|
+
return str(self.__dict__)
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
# sqlite3的 moudle
|
|
81
|
+
class Sqlite3Moudle(object):
|
|
82
|
+
def __init__(self):
|
|
83
|
+
self.database = ""
|
|
84
|
+
self.timeout = None
|
|
85
|
+
self.detect_types = None
|
|
86
|
+
self.isolation_level = None
|
|
87
|
+
self.check_same_thread = None
|
|
88
|
+
self.factory = None
|
|
89
|
+
self.cached_statements = None
|
|
90
|
+
# self.uri = None
|
|
91
|
+
|
|
92
|
+
def to_dict(self):
|
|
93
|
+
return self.__dict__
|