lesscode-py 0.3.121__tar.gz → 0.3.123__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.
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/PKG-INFO +1 -1
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/generic/generic_pool.py +13 -1
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/sqlalchemy/sqlachemy_model_service.py +82 -87
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/version.py +1 -1
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode_py.egg-info/PKG-INFO +1 -1
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/README.md +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/base_connection_pool.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/base_sql_helper.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/condition_wrapper.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/connection_info.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/db_function.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/dm/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/dm/dm_helper.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/dm/dm_pool.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/ds_helper.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/elasticsearch/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/elasticsearch/elasticsearch_helper.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/elasticsearch/elasticsearch_pool.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/es/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/es/es_helper.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/es/es_pool.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/es/es_request.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/generic/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/generic/generic_helper.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/init_connection_pool.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/mongodb/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/mongodb/base_model.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/mongodb/mongodb_helper.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/mongodb/mongodb_pool.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/mysql/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/mysql/mysql_helper.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/mysql/mysql_pool.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/nebula/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/nebula/nebula_helper.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/nebula/nebula_pool.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/neo4j/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/neo4j/neo4j_helper.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/neo4j/neo4j_pool.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/page.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/postgresql/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/postgresql/postgresql_helper.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/postgresql/postgresql_pool.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/redis/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/redis/redis_helper.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/redis/redis_pool.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/redis_cluster/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/redis_cluster/redis_cluster_helper.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/redis_cluster/redis_cluster_pool.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/relational_db_helper.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/sqlalchemy/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/sqlalchemy/sqlalchemy_helper.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/sqlalchemy/sqlalchemy_pool.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/extend_handlers/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/extend_handlers/doc/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/extend_handlers/doc/swagger_interface_doc_handler.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/extend_handlers/not_found_handler.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/mq/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/mq/kafka/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/mq/kafka/kafka_helper.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/mq/rabbitmq/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/mq/rabbitmq/rabbitmq_helper.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/sentry/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/sentry/sentry_monitor.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/task/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/task/job_info.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/task/task_helper.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/CacheUtil.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/doc/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/doc/interface_doc.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/es_log/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/es_log/record_log.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/json.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/oss/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/oss/aliyun_oss.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/oss/ks3_oss.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/request.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/upms_util.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/wrapper.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/web/__init__.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/web/base_handler.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/web/base_server_send_event_handler.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/web/base_websocket_handler.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/web/business_exception.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/web/native_handler.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/web/response_result.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/web/router_mapping.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/web/status_code.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/web/web_server.py +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode_py.egg-info/SOURCES.txt +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode_py.egg-info/dependency_links.txt +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode_py.egg-info/top_level.txt +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/setup.cfg +0 -0
- {lesscode-py-0.3.121 → lesscode-py-0.3.123}/setup.py +0 -0
|
@@ -48,5 +48,17 @@ class GenericPool(BaseConnectionPool):
|
|
|
48
48
|
pooled_db = importlib.import_module("dbutils.pooled_db")
|
|
49
49
|
except ImportError:
|
|
50
50
|
raise Exception(f"DBUtils is not exist,run:pip install DBUtils==3.0.2")
|
|
51
|
-
|
|
51
|
+
blocking = params.pop("blocking", True)
|
|
52
|
+
mincached = params.pop("mincached", self.conn_info.min_size)
|
|
53
|
+
maxusage = params.pop("maxusage", self.conn_info.min_size)
|
|
54
|
+
maxshared = params.pop("maxshared", self.conn_info.max_size)
|
|
55
|
+
maxcached = params.pop("maxcached", self.conn_info.max_size)
|
|
56
|
+
reset = params.pop("reset", True)
|
|
57
|
+
setsession = params.pop("setsession", None)
|
|
58
|
+
failures = params.pop("failures", None)
|
|
59
|
+
ping = params.pop("ping", 1)
|
|
60
|
+
pool = pooled_db.PooledDB(creator=generic, mincached=mincached, maxcached=maxcached,
|
|
61
|
+
maxshared=maxshared, maxconnections=self.conn_info.max_size, blocking=blocking,
|
|
62
|
+
maxusage=maxusage, setsession=setsession, reset=reset,
|
|
63
|
+
failures=failures, ping=ping, **params)
|
|
52
64
|
return pool
|
{lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/sqlalchemy/sqlachemy_model_service.py
RENAMED
|
@@ -9,35 +9,11 @@ class SQLAlchemyModelBaseService:
|
|
|
9
9
|
__connect_name__ = ""
|
|
10
10
|
|
|
11
11
|
@classmethod
|
|
12
|
-
def
|
|
13
|
-
try:
|
|
14
|
-
sqlalchemy = importlib.import_module("sqlalchemy")
|
|
15
|
-
except ImportError:
|
|
16
|
-
raise Exception(f"sqlalchemy is not exist,run:pip install sqlalchemy==1.4.36")
|
|
17
|
-
filters = [cls.__model__.id == _id]
|
|
18
|
-
with SqlAlchemyHelper(cls.__connect_name__).make_session() as session:
|
|
19
|
-
if not find_column:
|
|
20
|
-
statement = sqlalchemy.select(cls.__model__).where(*filters)
|
|
21
|
-
res = session.execute(statement).scalars().first() or {}
|
|
22
|
-
res = result_to_json(res)
|
|
23
|
-
else:
|
|
24
|
-
statement = sqlalchemy.select(*[sqlalchemy.column(_) for _ in find_column]).where(*filters)
|
|
25
|
-
res = session.execute(statement).first() or {}
|
|
26
|
-
res = result_to_json(res)
|
|
27
|
-
return res
|
|
28
|
-
|
|
29
|
-
@classmethod
|
|
30
|
-
def find_page(cls, filter_data: Union[list, dict] = None, find_column: list = None, sort_list: list = None,
|
|
31
|
-
page_num: int = 1, page_size: int = 10):
|
|
32
|
-
try:
|
|
33
|
-
sqlalchemy = importlib.import_module("sqlalchemy")
|
|
34
|
-
except ImportError:
|
|
35
|
-
raise Exception(f"sqlalchemy is not exist,run:pip install sqlalchemy==1.4.36")
|
|
12
|
+
def convert_filter(cls, filter_data: Union[list, dict] = None):
|
|
36
13
|
try:
|
|
37
14
|
sqlalchemy_utils = importlib.import_module("lesscode_utils.sqlalchemy_utils")
|
|
38
15
|
except ImportError:
|
|
39
16
|
raise Exception(f"lesscode_utils is not exist,run:pip install lesscode_utils==0.0.48")
|
|
40
|
-
|
|
41
17
|
filters = []
|
|
42
18
|
if filter_data:
|
|
43
19
|
if isinstance(filter_data, list):
|
|
@@ -67,6 +43,85 @@ class SQLAlchemyModelBaseService:
|
|
|
67
43
|
_position)
|
|
68
44
|
else:
|
|
69
45
|
sqlalchemy_utils.condition_by_relation(filters, cls.__model__, field, "eq", value)
|
|
46
|
+
return filters
|
|
47
|
+
|
|
48
|
+
@classmethod
|
|
49
|
+
def count(cls, filter_data: Union[list, dict] = None, find_column: list = None, count_key="count"):
|
|
50
|
+
try:
|
|
51
|
+
sqlalchemy = importlib.import_module("sqlalchemy")
|
|
52
|
+
except ImportError:
|
|
53
|
+
raise Exception(f"sqlalchemy is not exist,run:pip install sqlalchemy==1.4.36")
|
|
54
|
+
filters = cls.convert_filter(filter_data)
|
|
55
|
+
with SqlAlchemyHelper(cls.__connect_name__).make_session() as session:
|
|
56
|
+
field_list = []
|
|
57
|
+
group_list = []
|
|
58
|
+
if not find_column:
|
|
59
|
+
field_list.append(sqlalchemy.func.count())
|
|
60
|
+
statement = sqlalchemy.select(sqlalchemy.func.count()).select_from(cls.__model__).filter(
|
|
61
|
+
*filters)
|
|
62
|
+
res = session.execute(statement).scalar()
|
|
63
|
+
return res
|
|
64
|
+
else:
|
|
65
|
+
for _ in find_column:
|
|
66
|
+
field_list.append(sqlalchemy.column(_))
|
|
67
|
+
group_list.append(sqlalchemy.column(_))
|
|
68
|
+
field_list.append(sqlalchemy.func.count().label(count_key))
|
|
69
|
+
statement = sqlalchemy.select(*field_list).select_from(cls.__model__).filter(*filters).group_by(
|
|
70
|
+
*group_list)
|
|
71
|
+
res = session.execute(statement).all()
|
|
72
|
+
return result_to_json(res)
|
|
73
|
+
|
|
74
|
+
@classmethod
|
|
75
|
+
def find_one(cls, _id, find_column: list = None):
|
|
76
|
+
try:
|
|
77
|
+
sqlalchemy = importlib.import_module("sqlalchemy")
|
|
78
|
+
except ImportError:
|
|
79
|
+
raise Exception(f"sqlalchemy is not exist,run:pip install sqlalchemy==1.4.36")
|
|
80
|
+
filters = [cls.__model__.id == _id]
|
|
81
|
+
with SqlAlchemyHelper(cls.__connect_name__).make_session() as session:
|
|
82
|
+
if not find_column:
|
|
83
|
+
statement = sqlalchemy.select(cls.__model__).where(*filters)
|
|
84
|
+
res = session.execute(statement).scalars().first() or {}
|
|
85
|
+
else:
|
|
86
|
+
statement = sqlalchemy.select(*[sqlalchemy.column(_) for _ in find_column]).select_from(
|
|
87
|
+
cls.__model__).where(*filters)
|
|
88
|
+
res = session.execute(statement).first() or {}
|
|
89
|
+
res = result_to_json(res)
|
|
90
|
+
return res
|
|
91
|
+
|
|
92
|
+
@classmethod
|
|
93
|
+
def find_one_by_filed(cls, field: str = None, value: str = None, find_column: list = None):
|
|
94
|
+
try:
|
|
95
|
+
sqlalchemy = importlib.import_module("sqlalchemy")
|
|
96
|
+
except ImportError:
|
|
97
|
+
raise Exception(f"sqlalchemy is not exist,run:pip install sqlalchemy==1.4.36")
|
|
98
|
+
filters = []
|
|
99
|
+
if field is not None and value is not None:
|
|
100
|
+
filters.append(getattr(cls.__model__, field) == value)
|
|
101
|
+
with SqlAlchemyHelper(cls.__connect_name__).make_session() as session:
|
|
102
|
+
if not find_column:
|
|
103
|
+
statement = sqlalchemy.select(cls.__model__).where(*filters)
|
|
104
|
+
res = session.execute(statement).scalars().first() or {}
|
|
105
|
+
else:
|
|
106
|
+
statement = sqlalchemy.select(*[sqlalchemy.column(_) for _ in find_column]).select_from(
|
|
107
|
+
cls.__model__).where(*filters)
|
|
108
|
+
res = session.execute(statement).first() or {}
|
|
109
|
+
res = result_to_json(res)
|
|
110
|
+
return res
|
|
111
|
+
|
|
112
|
+
@classmethod
|
|
113
|
+
def find_page(cls, filter_data: Union[list, dict] = None, find_column: list = None, sort_list: list = None,
|
|
114
|
+
page_num: int = 1, page_size: int = 10):
|
|
115
|
+
try:
|
|
116
|
+
sqlalchemy = importlib.import_module("sqlalchemy")
|
|
117
|
+
except ImportError:
|
|
118
|
+
raise Exception(f"sqlalchemy is not exist,run:pip install sqlalchemy==1.4.36")
|
|
119
|
+
try:
|
|
120
|
+
sqlalchemy_utils = importlib.import_module("lesscode_utils.sqlalchemy_utils")
|
|
121
|
+
except ImportError:
|
|
122
|
+
raise Exception(f"lesscode_utils is not exist,run:pip install lesscode_utils==0.0.48")
|
|
123
|
+
|
|
124
|
+
filters = cls.convert_filter(filter_data)
|
|
70
125
|
|
|
71
126
|
sort_list = sort_list or []
|
|
72
127
|
sort_list = sqlalchemy_utils.single_model_format_order(cls.__model__, sort_list)
|
|
@@ -106,35 +161,7 @@ class SQLAlchemyModelBaseService:
|
|
|
106
161
|
sqlalchemy_utils = importlib.import_module("lesscode_utils.sqlalchemy_utils")
|
|
107
162
|
except ImportError:
|
|
108
163
|
raise Exception(f"lesscode_utils is not exist,run:pip install lesscode_utils==0.0.48")
|
|
109
|
-
filters =
|
|
110
|
-
if filter_data:
|
|
111
|
-
if isinstance(filter_data, list):
|
|
112
|
-
for field in filter_data:
|
|
113
|
-
_column = field.get('column')
|
|
114
|
-
_value = field.get('value')
|
|
115
|
-
_end_value = field.get('end_value')
|
|
116
|
-
# ["in","like","between","not in","not like","is null","not null","not in list","eq","=","not eq","!=","gt",">","gte",">=","lt","<","lte",">="]
|
|
117
|
-
_relation = field.get('relation', "in")
|
|
118
|
-
_position = field.get('position', "LR")
|
|
119
|
-
sqlalchemy_utils.condition_by_relation(filters, cls.__model__, _column, _relation, _value,
|
|
120
|
-
_end_value,
|
|
121
|
-
_position)
|
|
122
|
-
elif isinstance(filter_data, dict):
|
|
123
|
-
for field, value in filter_data.items():
|
|
124
|
-
if value:
|
|
125
|
-
if isinstance(value, list):
|
|
126
|
-
sqlalchemy_utils.condition_by_relation(filters, cls.__model__, field, "in", value)
|
|
127
|
-
elif isinstance(value, dict):
|
|
128
|
-
_value = value.get('value')
|
|
129
|
-
_end_value = value.get('end_value')
|
|
130
|
-
# ["in","like","between","not in","not like","is null","not null","not in list","eq","=","not eq","!=","gt",">","gte",">=","lt","<","lte",">="]
|
|
131
|
-
_relation = value.get('relation', "in")
|
|
132
|
-
_position = value.get('position', "LR")
|
|
133
|
-
sqlalchemy_utils.condition_by_relation(filters, cls.__model__, field, _relation, _value,
|
|
134
|
-
_end_value,
|
|
135
|
-
_position)
|
|
136
|
-
else:
|
|
137
|
-
sqlalchemy_utils.condition_by_relation(filters, cls.__model__, field, "eq", value)
|
|
164
|
+
filters = cls.convert_filter(filter_data)
|
|
138
165
|
sort_list = sort_list or []
|
|
139
166
|
sort_list = sqlalchemy_utils.single_model_format_order(cls.__model__, sort_list)
|
|
140
167
|
with SqlAlchemyHelper(cls.__connect_name__).make_session() as session:
|
|
@@ -191,39 +218,7 @@ class SQLAlchemyModelBaseService:
|
|
|
191
218
|
sqlalchemy = importlib.import_module("sqlalchemy")
|
|
192
219
|
except ImportError:
|
|
193
220
|
raise Exception(f"sqlalchemy is not exist,run:pip install sqlalchemy==1.4.36")
|
|
194
|
-
|
|
195
|
-
sqlalchemy_utils = importlib.import_module("lesscode_utils.sqlalchemy_utils")
|
|
196
|
-
except ImportError:
|
|
197
|
-
raise Exception(f"lesscode_utils is not exist,run:pip install lesscode_utils==0.0.48")
|
|
198
|
-
filters = []
|
|
199
|
-
if filter_data:
|
|
200
|
-
if isinstance(filter_data, list):
|
|
201
|
-
for field in filter_data:
|
|
202
|
-
_column = field.get('column')
|
|
203
|
-
_value = field.get('value')
|
|
204
|
-
_end_value = field.get('end_value')
|
|
205
|
-
# ["in","like","between","not in","not like","is null","not null","not in list","eq","=","not eq","!=","gt",">","gte",">=","lt","<","lte",">="]
|
|
206
|
-
_relation = field.get('relation', "in")
|
|
207
|
-
_position = field.get('position', "LR")
|
|
208
|
-
sqlalchemy_utils.condition_by_relation(filters, cls.__model__, _column, _relation, _value,
|
|
209
|
-
_end_value,
|
|
210
|
-
_position)
|
|
211
|
-
elif isinstance(filter_data, dict):
|
|
212
|
-
for field, value in filter_data.items():
|
|
213
|
-
if value:
|
|
214
|
-
if isinstance(value, list):
|
|
215
|
-
sqlalchemy_utils.condition_by_relation(filters, cls.__model__, field, "in", value)
|
|
216
|
-
elif isinstance(value, dict):
|
|
217
|
-
_value = value.get('value')
|
|
218
|
-
_end_value = value.get('end_value')
|
|
219
|
-
# ["in","like","between","not in","not like","is null","not null","not in list","eq","=","not eq","!=","gt",">","gte",">=","lt","<","lte",">="]
|
|
220
|
-
_relation = value.get('relation', "in")
|
|
221
|
-
_position = value.get('position', "LR")
|
|
222
|
-
sqlalchemy_utils.condition_by_relation(filters, cls.__model__, field, _relation, _value,
|
|
223
|
-
_end_value,
|
|
224
|
-
_position)
|
|
225
|
-
else:
|
|
226
|
-
sqlalchemy_utils.condition_by_relation(filters, cls.__model__, field, "eq", value)
|
|
221
|
+
filters = cls.convert_filter(filter_data)
|
|
227
222
|
with SqlAlchemyHelper(cls.__connect_name__).make_session() as session:
|
|
228
223
|
statement = sqlalchemy.delete(cls.__model__).where(*filters)
|
|
229
224
|
res = session.execute(statement)
|
|
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
|
{lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/elasticsearch/elasticsearch_helper.py
RENAMED
|
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
|
{lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/redis_cluster/redis_cluster_helper.py
RENAMED
|
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
|