codosdk 1.0.19__tar.gz → 1.0.20__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.
- {codosdk-1.0.19 → codosdk-1.0.20}/PKG-INFO +1 -1
- {codosdk-1.0.19 → codosdk-1.0.20}/codosdk.egg-info/PKG-INFO +1 -1
- {codosdk-1.0.19 → codosdk-1.0.20}/setup.py +1 -1
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/crud_utils.py +6 -3
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/sqlalchemy_pagination.py +0 -20
- {codosdk-1.0.19 → codosdk-1.0.20}/LICENSE +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/README.md +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/codosdk.egg-info/SOURCES.txt +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/codosdk.egg-info/dependency_links.txt +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/codosdk.egg-info/requires.txt +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/codosdk.egg-info/top_level.txt +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/opssdk/__init__.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/opssdk/utils/__init__.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/pyproject.toml +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/setup.cfg +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/__init__.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/api_set.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/apis/__init__.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/apis/admin_apis.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/apis/agent_apis.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/apis/cmdb_apis.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/apis/kerrigan_apis.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/apis/mgv4_apis.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/apis/task_apis.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/application.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/base_handler.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/cache.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/cache_context.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/client.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/cloud/__init__.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/cloud/qcloud_api.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/cloud/ucloud_api.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/cloud_utils.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/configs.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/consts.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/db_context.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/error.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/fetch_coroutine.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/jwt_token.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/ldap.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/logger.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/model_utils.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/mqhelper.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/program.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/salt_api.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/tools.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/utils/__init__.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/utils/cc_crypto.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/utils/date_format.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/utils/pydantic_utils.py +0 -0
- {codosdk-1.0.19 → codosdk-1.0.20}/websdk2/web_logs.py +0 -0
|
@@ -9,7 +9,7 @@ desc : CODO SDK
|
|
|
9
9
|
import sys
|
|
10
10
|
from setuptools import setup, find_packages
|
|
11
11
|
|
|
12
|
-
VERSION = '1.0.
|
|
12
|
+
VERSION = '1.0.20'
|
|
13
13
|
|
|
14
14
|
if sys.version_info < (2, 7) or (3, 0) <= sys.version_info < (3, 6):
|
|
15
15
|
print('This program requires at least Python 2.7 or 3.6 to run.')
|
|
@@ -14,6 +14,7 @@ from typing import List, Union, Optional
|
|
|
14
14
|
from .db_context import DBContextV2 as DBContext
|
|
15
15
|
from .utils.pydantic_utils import sqlalchemy_to_pydantic, ValidationError, PydanticDelList
|
|
16
16
|
from .sqlalchemy_pagination import paginate
|
|
17
|
+
from .model_utils import model_to_dict
|
|
17
18
|
|
|
18
19
|
|
|
19
20
|
def get_millisecond_timestamp() -> int:
|
|
@@ -76,7 +77,7 @@ class ModelCRUDView:
|
|
|
76
77
|
msg='获取成功',
|
|
77
78
|
reason="",
|
|
78
79
|
timestamp=get_millisecond_timestamp(),
|
|
79
|
-
data={'item': _info
|
|
80
|
+
data={'item': model_to_dict(_info)}
|
|
80
81
|
)
|
|
81
82
|
except Exception as e:
|
|
82
83
|
logging.error(f"Database query failed: {e}")
|
|
@@ -104,8 +105,8 @@ class ModelCRUDView:
|
|
|
104
105
|
try:
|
|
105
106
|
# 调用 get_by_val_func 生成过滤条件
|
|
106
107
|
filter_condition = get_by_val_func(value)
|
|
107
|
-
if not isinstance(filter_condition, (bool, type(true()))):
|
|
108
|
-
|
|
108
|
+
# if not isinstance(filter_condition, (bool, type(true()))):
|
|
109
|
+
# raise ValueError("The `get_by_val_func` must return a SQLAlchemy filter condition or a boolean.")
|
|
109
110
|
|
|
110
111
|
except Exception as e:
|
|
111
112
|
raise ValueError(f"Error while executing `get_by_val_func`: {e}")
|
|
@@ -141,6 +142,8 @@ class ModelCRUDView:
|
|
|
141
142
|
except ValidationError as e:
|
|
142
143
|
return dict(code=-1, msg='数据格式出错', reason=str(e), data=None, timestamp=get_millisecond_timestamp())
|
|
143
144
|
|
|
145
|
+
data.pop("id", None)
|
|
146
|
+
|
|
144
147
|
try:
|
|
145
148
|
with DBContext('w', None, True) as db:
|
|
146
149
|
__record = self.model(**data)
|
|
@@ -28,26 +28,6 @@ class Page(object):
|
|
|
28
28
|
self.pages = int(math.ceil(total / float(page_size)))
|
|
29
29
|
|
|
30
30
|
|
|
31
|
-
# def paginate(query, order_by: str = None, **query_params):
|
|
32
|
-
# page = int(query_params.get('page', 1)) if 'page' in query_params else int(query_params.get('page_number', 1))
|
|
33
|
-
# page_size = int(query_params.get('limit')) if 'limit' in query_params else int(query_params.get('page_size', 10))
|
|
34
|
-
#
|
|
35
|
-
# if 'order_by' in query_params: order_by = query_params.get('order_by')
|
|
36
|
-
# items_not_to_list = query_params.get('items_not_to_list') # 如果不序列化要额外加参数,主要为了连表查询
|
|
37
|
-
#
|
|
38
|
-
# if page <= 0: raise AttributeError('page needs to be >= 1')
|
|
39
|
-
# if page_size <= 0: raise AttributeError('page_size needs to be >= 1')
|
|
40
|
-
# if order_by:
|
|
41
|
-
# items = query.order_by(order_by).all() if page_size >= 200 else query.order_by(order_by).limit(
|
|
42
|
-
# page_size).offset((page - 1) * page_size).all()
|
|
43
|
-
# else:
|
|
44
|
-
# items = query.all() if page_size >= 200 else query.limit(page_size).offset((page - 1) * page_size).all()
|
|
45
|
-
#
|
|
46
|
-
# total = query.order_by(order_by).count()
|
|
47
|
-
# if not items_not_to_list: items = queryset_to_list(items)
|
|
48
|
-
# return Page(items, page, page_size, total)
|
|
49
|
-
|
|
50
|
-
|
|
51
31
|
def paginate(query, order_by: str = None, **query_params):
|
|
52
32
|
page = int(query_params.get('page', 1)) if 'page' in query_params else int(query_params.get('page_number', 1))
|
|
53
33
|
page_size = int(query_params.get('limit')) if 'limit' in query_params else int(query_params.get('page_size', 10))
|
|
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
|