smartpush 2.0.4__py3-none-any.whl → 2.0.6__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.
- smartpush/base/request_base.py +7 -0
- smartpush/base/url_enum.py +14 -1
- smartpush/email/activity.py +18 -2
- smartpush/email/schema.py +3 -0
- smartpush/email/universal_content.py +20 -22
- smartpush/openapi/__init__.py +0 -0
- smartpush/openapi/openapi.py +159 -0
- {smartpush-2.0.4.dist-info → smartpush-2.0.6.dist-info}/METADATA +1 -1
- {smartpush-2.0.4.dist-info → smartpush-2.0.6.dist-info}/RECORD +11 -9
- {smartpush-2.0.4.dist-info → smartpush-2.0.6.dist-info}/WHEEL +0 -0
- {smartpush-2.0.4.dist-info → smartpush-2.0.6.dist-info}/top_level.txt +0 -0
smartpush/base/request_base.py
CHANGED
|
@@ -77,3 +77,10 @@ class ActivityTemplateRequestBase(RequestBase):
|
|
|
77
77
|
def __init__(self, activityTemplateId, host, headers, **kwargs):
|
|
78
78
|
super().__init__(host, headers, **kwargs)
|
|
79
79
|
self.activityTemplateId = activityTemplateId
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
class OpenApiRequestBase(RequestBase):
|
|
83
|
+
def __init__(self, event_id, host, headers, **kwargs):
|
|
84
|
+
super().__init__(host, headers, **kwargs)
|
|
85
|
+
self.event_id = event_id
|
|
86
|
+
|
smartpush/base/url_enum.py
CHANGED
|
@@ -64,7 +64,20 @@ class URL:
|
|
|
64
64
|
step1 = "/marketing/insertOrUpdateActivity/step1", POST
|
|
65
65
|
step2 = "/marketing/insertOrUpdateActivity/step2", POST
|
|
66
66
|
step2_get = "/marketing/activityDetail/step2", GET
|
|
67
|
-
delete = "/marketing/deleteActivity",GET
|
|
67
|
+
delete = "/marketing/deleteActivity", GET
|
|
68
|
+
copy = '/marketing/copyActivity', GET
|
|
69
|
+
|
|
70
|
+
class OpenApi(BaseEnum):
|
|
71
|
+
"""
|
|
72
|
+
:type OpenApi
|
|
73
|
+
"""
|
|
74
|
+
getEventMetaList = '/metrics/getEventMetaList', POST
|
|
75
|
+
getEventMetaById = '/metrics/getEventMetaById', POST
|
|
76
|
+
delEventMetaById = '/metrics/delEventMetaById', POST
|
|
77
|
+
editEventMeta = '/metrics/editEventMeta', POST
|
|
78
|
+
getEventChannel = '/metrics/getEventChannel', GET
|
|
79
|
+
getEventAttr = '/metrics/getEventAttr', POST
|
|
80
|
+
|
|
68
81
|
|
|
69
82
|
|
|
70
83
|
if __name__ == '__main__':
|
smartpush/email/activity.py
CHANGED
|
@@ -51,12 +51,26 @@ class ActivityTemplate(ActivityTemplateRequestBase):
|
|
|
51
51
|
params=requestParam)
|
|
52
52
|
return result
|
|
53
53
|
|
|
54
|
-
def
|
|
54
|
+
def delete_activity_template_by_id(self, mtoken='123456'):
|
|
55
|
+
"""
|
|
56
|
+
删除活动
|
|
57
|
+
:param mtoken:
|
|
58
|
+
:return:
|
|
59
|
+
"""
|
|
55
60
|
requestParam = {"id": self.activityTemplateId, "mtoken": mtoken}
|
|
56
61
|
result = self.request(path=URL.Activity.delete.url, method=URL.Activity.delete.method,
|
|
57
62
|
params=requestParam)
|
|
58
63
|
return result
|
|
59
64
|
|
|
65
|
+
def copy_activity_template_by_id(self):
|
|
66
|
+
"""
|
|
67
|
+
复制活动
|
|
68
|
+
:return:
|
|
69
|
+
"""
|
|
70
|
+
requestParam = {"id": self.activityTemplateId}
|
|
71
|
+
result = self.request(path=URL.Activity.copy.url, method=URL.Activity.copy.method,params=requestParam)
|
|
72
|
+
return result
|
|
73
|
+
|
|
60
74
|
@staticmethod
|
|
61
75
|
def add_element_to_section_column_children(currentJsonSchema, new_schema):
|
|
62
76
|
"""
|
|
@@ -105,4 +119,6 @@ if __name__ == '__main__':
|
|
|
105
119
|
# '4c8a94eb-fb4f-4cba-934c-8bbcf4f02f63',
|
|
106
120
|
# 'containerBackgroundColor'))
|
|
107
121
|
headers = {"cookie":"osudb_appid=SMARTPUSH;osudb_oar=#01#SID0000142BBMtQZENFwRum+auwG8xaPKEtK5HgGx0lValeKMgM9lpDwayeZG4gcRV7ZCuWuhkHOLinjdGep+EhqYgs+3jHB4HX+JlKMjwHl+xti50WubQSH0AdBVthnmGoGxKTnB6xlaZ+IjorbD+HKOoEBuJ;osudb_subappid=1;osudb_uid=4213785247;ecom_http_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NjY2MzUyNTYsImp0aSI6ImRiOGNkNTIyLTkwMmQtNDcwNS1iM2JkLTc4Nzg5OTQwNzVmNCIsInVzZXJJbmZvIjp7ImlkIjowLCJ1c2VySWQiOiI0MjEzNzg1MjQ3IiwidXNlcm5hbWUiOiIiLCJlbWFpbCI6ImZlbGl4LnNoYW9Ac2hvcGxpbmVhcHAuY29tIiwidXNlclJvbGUiOiJvd25lciIsInBsYXRmb3JtVHlwZSI6Nywic3ViUGxhdGZvcm0iOjEsInBob25lIjoiIiwibGFuZ3VhZ2UiOiJ6aC1oYW5zLWNuIiwiYXV0aFR5cGUiOiIiLCJhdHRyaWJ1dGVzIjp7ImNvdW50cnlDb2RlIjoiQ04iLCJjdXJyZW5jeSI6IkpQWSIsImN1cnJlbmN5U3ltYm9sIjoiSlDCpSIsImRvbWFpbiI6InNtYXJ0cHVzaDQubXlzaG9wbGluZXN0Zy5jb20iLCJsYW5ndWFnZSI6ImVuIiwibWVyY2hhbnRFbWFpbCI6ImZlbGl4LnNoYW9Ac2hvcGxpbmUuY29tIiwibWVyY2hhbnROYW1lIjoiU21hcnRQdXNoNF9lYzJf6Ieq5Yqo5YyW5bqX6ZO6IiwicGhvbmUiOiIiLCJzY29wZUNoYW5nZWQiOmZhbHNlLCJzdGFmZkxhbmd1YWdlIjoiemgtaGFucy1jbiIsInN0YXR1cyI6MCwidGltZXpvbmUiOiJBc2lhL01hY2FvIn0sInN0b3JlSWQiOiIxNjQ0Mzk1OTIwNDQ0IiwiaGFuZGxlIjoic21hcnRwdXNoNCIsImVudiI6IkNOIiwic3RlIjoiIiwidmVyaWZ5IjoiIn0sImxvZ2luVGltZSI6MTc2NDA0MzI1Njk1Miwic2NvcGUiOlsiZW1haWwtbWFya2V0IiwiY29va2llIiwic2wtZWNvbS1lbWFpbC1tYXJrZXQtbmV3LXRlc3QiLCJlbWFpbC1tYXJrZXQtbmV3LWRldi1mcyIsImFwaS11Yy1lYzIiLCJhcGktc3UtZWMyIiwiYXBpLWVtLWVjMiIsImZsb3ctcGx1Z2luIiwiYXBpLXNwLW1hcmtldC1lYzIiXSwiY2xpZW50X2lkIjoiZW1haWwtbWFya2V0In0.dAPLGpef8jYXrIu9Wr-diKNGksWZ3mKmDW_f0djxtKs;"}
|
|
108
|
-
|
|
122
|
+
|
|
123
|
+
var = ActivityTemplate(444917, 'https://test.smartpushedm.com/bff/api-em-ec2', headers=headers)
|
|
124
|
+
var.copy_activity_template_by_id()
|
smartpush/email/schema.py
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import json
|
|
2
1
|
import time
|
|
3
2
|
|
|
4
3
|
from smartpush.base.request_base import RequestBase
|
|
5
4
|
from smartpush.base.url_enum import *
|
|
6
5
|
from smartpush.email.schema import *
|
|
7
|
-
from smartpush.email.activity import ActivityTemplate
|
|
8
6
|
|
|
9
7
|
|
|
10
8
|
def gen_universal_request_param(universalId, schema, **kwargs):
|
|
@@ -23,7 +21,7 @@ def gen_universal_request_param(universalId, schema, **kwargs):
|
|
|
23
21
|
"universalName": universalName,
|
|
24
22
|
"schema": json.dumps(result_schema),
|
|
25
23
|
"subUniversalId": kwargs.get('subUniversal_id', universalId),
|
|
26
|
-
"type":
|
|
24
|
+
"type": BlockType[result_schema.get('type')].value,
|
|
27
25
|
"blockType": result_schema.get('type'),
|
|
28
26
|
"flowModal": kwargs.get('flowModal', '')
|
|
29
27
|
}
|
|
@@ -188,25 +186,25 @@ if __name__ == '__main__':
|
|
|
188
186
|
universalName=sectionUniversalName)
|
|
189
187
|
universal_request_param = gen_universal_request_param(sectionUniversalId, section_schema)
|
|
190
188
|
print(universal_request_param)
|
|
191
|
-
head = {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
universal = UniversalContent(headers=head, host='https://test.smartpushedm.com/bff/api-sp-market-ec2')
|
|
195
|
-
try:
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
except:
|
|
205
|
-
|
|
206
|
-
finally:
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
189
|
+
# head = {
|
|
190
|
+
# "cookie": "osudb_appid=SMARTPUSH;osudb_oar=#01#SID0000141BOhqtUqYGMjRho2SIPBeE5o1HNWFHo9q+qttt/jMLf+gRshde7x0NZUgAST4PB4CfSuAa450BCuCZf6pwolP1vXs/cF+6e/snBhESLvofXaxDaIFN9swZq4Np2xBc4uw6R4V58uWjrwg+s8XTLVv;osudb_subappid=1;osudb_uid=4213785247;ecom_http_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NjU1OTg0NzQsImp0aSI6ImU0YzAyZjcxLWQ4NDktNDZlYS1iNzNmLTY1YjU0YTc3MTJjZCIsInVzZXJJbmZvIjp7ImlkIjowLCJ1c2VySWQiOiI0MjEzNzg1MjQ3IiwidXNlcm5hbWUiOiIiLCJlbWFpbCI6ImZlbGl4LnNoYW9Ac2hvcGxpbmVhcHAuY29tIiwidXNlclJvbGUiOiJvd25lciIsInBsYXRmb3JtVHlwZSI6Nywic3ViUGxhdGZvcm0iOjEsInBob25lIjoiIiwibGFuZ3VhZ2UiOiJ6aC1oYW5zLWNuIiwiYXV0aFR5cGUiOiIiLCJhdHRyaWJ1dGVzIjp7ImNvdW50cnlDb2RlIjoiQ04iLCJjdXJyZW5jeSI6IkpQWSIsImN1cnJlbmN5U3ltYm9sIjoiSlDCpSIsImRvbWFpbiI6InNtYXJ0cHVzaDQubXlzaG9wbGluZXN0Zy5jb20iLCJsYW5ndWFnZSI6ImVuIiwibWVyY2hhbnRFbWFpbCI6ImZlbGl4LnNoYW9Ac2hvcGxpbmUuY29tIiwibWVyY2hhbnROYW1lIjoiU21hcnRQdXNoNF9lYzJf6Ieq5Yqo5YyW5bqX6ZO6IiwicGhvbmUiOiIiLCJzY29wZUNoYW5nZWQiOmZhbHNlLCJzdGFmZkxhbmd1YWdlIjoiemgtaGFucy1jbiIsInN0YXR1cyI6MCwidGltZXpvbmUiOiJBc2lhL01hY2FvIn0sInN0b3JlSWQiOiIxNjQ0Mzk1OTIwNDQ0IiwiaGFuZGxlIjoic21hcnRwdXNoNCIsImVudiI6IkNOIiwic3RlIjoiIiwidmVyaWZ5IjoiIn0sImxvZ2luVGltZSI6MTc2MzAwNjQ3NDQzNywic2NvcGUiOlsiZW1haWwtbWFya2V0IiwiY29va2llIiwic2wtZWNvbS1lbWFpbC1tYXJrZXQtbmV3LXRlc3QiLCJlbWFpbC1tYXJrZXQtbmV3LWRldi1mcyIsImFwaS11Yy1lYzIiLCJhcGktc3UtZWMyIiwiYXBpLWVtLWVjMiIsImZsb3ctcGx1Z2luIiwiYXBpLXNwLW1hcmtldC1lYzIiXSwiY2xpZW50X2lkIjoiZW1haWwtbWFya2V0In0.erTiG4r364sutySNgx8X1rmrAjFsyfoe3UIUZ6J9e-o;",
|
|
191
|
+
# "Content-Type": "application/json", "accept-language": "zh-CN"}
|
|
192
|
+
# universal = UniversalContent(headers=head, host='https://test.smartpushedm.com/bff/api-sp-market-ec2')
|
|
193
|
+
# try:
|
|
194
|
+
# # universal.create_universal(requestParam=universal_request_param)
|
|
195
|
+
# # universal.assert_block_in_the_section(sectionUniversalName, result_list)
|
|
196
|
+
# _list =[
|
|
197
|
+
# {"universalId": "ec5d5278-4ed7-4933-8010-2b0c6a776356", "universalName": "Auto-Logo-2025-11-26 00:35:35",
|
|
198
|
+
# "schema": "{\"id\":\"96997bb0a\",\"universalId\":\"ec5d5278-4ed7-4933-8010-2b0c6a776356\",\"universalName\":\"Auto-Logo-2025-11-26 00:35:35\",\"type\":\"Logo\",\"props\":{\"width\":120,\"height\":120,\"imgRatio\":1,\"src\":\"https://cdn.smartpushedm.com/frontend/smart-push/staging/1741054956275/1758595834300_74d62ae6.png?width=120&height=120\",\"href\":\"https://smartpush4.myshoplinestg.com\",\"align\":\"center\",\"containerBackgroundColor\":\"#b46b6b\",\"paddingLeft\":\"20px\",\"paddingRight\":\"20px\",\"paddingTop\":\"20px\",\"paddingBottom\":\"20px\",\"paddingCondition\":\"true\",\"segmentTypeConfig\":1},\"children\":[]}",
|
|
199
|
+
# "subUniversalId": "ec5d5278-4ed7-4933-8010-2b0c6a776356", "type": 0, "blockType": "Logo",
|
|
200
|
+
# "flowModal": ""}]
|
|
201
|
+
# universal.update_universal(_list)
|
|
202
|
+
# except:
|
|
203
|
+
# raise
|
|
204
|
+
# finally:
|
|
205
|
+
# # universal.delete_universal(sectionUniversalId)
|
|
206
|
+
# # pass
|
|
207
|
+
# pass
|
|
210
208
|
#
|
|
211
209
|
# if __name__ == '__main__':
|
|
212
210
|
# sectionUniversalId = generate_UUID()
|
|
File without changes
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import random
|
|
2
|
+
|
|
3
|
+
from smartpush.base.request_base import OpenApiRequestBase
|
|
4
|
+
from smartpush.base.url_enum import URL
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class OpenApi(OpenApiRequestBase):
|
|
8
|
+
def __init__(self, event_id=None, *args, **kwargs):
|
|
9
|
+
"""初始化OpenApi,支持传入event_id"""
|
|
10
|
+
super().__init__(*args, **kwargs) # 调用父类初始化
|
|
11
|
+
self.event_id = event_id # 初始化event_id属性
|
|
12
|
+
self.attrTypeList = ('STRING', 'BIGINT', 'BOOLEAN', 'DATE', 'DECIMAL')
|
|
13
|
+
|
|
14
|
+
def get_attribute_type(self, _type=None):
|
|
15
|
+
"""
|
|
16
|
+
返回一个数据类型('STRING', 'BIGINT', 'BOOLEAN', 'DATE', 'DECIMAL')
|
|
17
|
+
:param _type:
|
|
18
|
+
:return:
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
if _type is not None and _type in self.attrTypeList:
|
|
22
|
+
return _type
|
|
23
|
+
else:
|
|
24
|
+
return random.choice(self.attrTypeList)
|
|
25
|
+
|
|
26
|
+
def getEventMetaList(self, code=None, channel=None):
|
|
27
|
+
"""
|
|
28
|
+
获取EventMeta数据
|
|
29
|
+
:param code: 事件编码
|
|
30
|
+
:param channel: 渠道类型
|
|
31
|
+
:return: 请求结果
|
|
32
|
+
"""
|
|
33
|
+
requestParam = {"pageModel": {"page": 1, "pageSize": 20}}
|
|
34
|
+
# 正确的参数更新逻辑:有值才更新
|
|
35
|
+
if channel:
|
|
36
|
+
requestParam["channel"] = channel
|
|
37
|
+
if code:
|
|
38
|
+
requestParam["code"] = code
|
|
39
|
+
result = self.request(
|
|
40
|
+
URL.OpenApi.getEventMetaList.url,
|
|
41
|
+
URL.OpenApi.getEventMetaList.method,
|
|
42
|
+
data=requestParam
|
|
43
|
+
)
|
|
44
|
+
return result
|
|
45
|
+
|
|
46
|
+
def getEventMetaById(self, eventCode):
|
|
47
|
+
"""
|
|
48
|
+
获取事件详情
|
|
49
|
+
:param eventCode: 事件编码
|
|
50
|
+
:return: 请求结果
|
|
51
|
+
"""
|
|
52
|
+
if not self.event_id:
|
|
53
|
+
raise ValueError("event_id未初始化,请在实例化时传入")
|
|
54
|
+
requestParam = {"id": self.event_id, "eventCode": eventCode}
|
|
55
|
+
result = self.request(
|
|
56
|
+
URL.OpenApi.getEventMetaById.url,
|
|
57
|
+
URL.OpenApi.getEventMetaById.method,
|
|
58
|
+
data=requestParam
|
|
59
|
+
)
|
|
60
|
+
return result
|
|
61
|
+
|
|
62
|
+
def deleteEventMetaById(self, eventCode):
|
|
63
|
+
"""
|
|
64
|
+
删除事件(根据ID)
|
|
65
|
+
:param eventCode: 事件编码
|
|
66
|
+
:return: 请求结果
|
|
67
|
+
"""
|
|
68
|
+
if not self.event_id:
|
|
69
|
+
raise ValueError("event_id未初始化,请在实例化时传入")
|
|
70
|
+
requestParam = {"id": self.event_id, "eventCode": eventCode}
|
|
71
|
+
result = self.request(
|
|
72
|
+
URL.OpenApi.delEventMetaById.url,
|
|
73
|
+
URL.OpenApi.delEventMetaById.method,
|
|
74
|
+
data=requestParam
|
|
75
|
+
)
|
|
76
|
+
return result
|
|
77
|
+
|
|
78
|
+
def editEventMeta(self, eventCode, eventName, eventChannel, channelMetaTabi, eventAttrs: list,
|
|
79
|
+
updateEventAttrs: list, deleteEventAttrs: list):
|
|
80
|
+
if not self.event_id:
|
|
81
|
+
raise ValueError("event_id未初始化,请在实例化时传入")
|
|
82
|
+
requestParam = {
|
|
83
|
+
"eventCode": eventCode,
|
|
84
|
+
"eventName": eventName,
|
|
85
|
+
"eventChannel": eventChannel,
|
|
86
|
+
"eventAttrs": eventAttrs,
|
|
87
|
+
"id": self.event_id,
|
|
88
|
+
"channel": {
|
|
89
|
+
"updateEventChannel": {
|
|
90
|
+
"channelMetaTabi": channelMetaTabi,
|
|
91
|
+
"channelCode": "eventChannel"
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"attrs": {
|
|
95
|
+
"updateEventAttrs": updateEventAttrs,
|
|
96
|
+
"deleteEventAttrs": deleteEventAttrs
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
result = self.request(
|
|
100
|
+
URL.OpenApi.editEventMeta.url,
|
|
101
|
+
URL.OpenApi.editEventMeta.method,
|
|
102
|
+
data=requestParam
|
|
103
|
+
)
|
|
104
|
+
return result
|
|
105
|
+
|
|
106
|
+
def getEventChannel(self):
|
|
107
|
+
# requestParam = {"id": self.event_id, "eventCode": eventCode}
|
|
108
|
+
result = self.request(
|
|
109
|
+
URL.OpenApi.getEventChannel.url,
|
|
110
|
+
URL.OpenApi.getEventChannel.method,
|
|
111
|
+
)
|
|
112
|
+
return result
|
|
113
|
+
|
|
114
|
+
def getEventAttr(self):
|
|
115
|
+
result = self.request(
|
|
116
|
+
URL.OpenApi.getEventAttr.url,
|
|
117
|
+
URL.OpenApi.getEventAttr.method,
|
|
118
|
+
)
|
|
119
|
+
return result
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
class AssertOpenApi(OpenApi):
|
|
123
|
+
def assert_event_create_success(self, code, channel, is_delete=True) -> str:
|
|
124
|
+
"""
|
|
125
|
+
断言事件新增成功,并返回eventId
|
|
126
|
+
:param code: 事件编码
|
|
127
|
+
:param channel: 渠道类型
|
|
128
|
+
:param is_delete: 是否删除事件
|
|
129
|
+
:return: eventId
|
|
130
|
+
"""
|
|
131
|
+
event_id = None
|
|
132
|
+
try:
|
|
133
|
+
result = self.getEventMetaList(code=code, channel=channel)
|
|
134
|
+
# 安全获取数据,避免KeyError
|
|
135
|
+
result_data = result.get("resultData", {})
|
|
136
|
+
datas = result_data.get("datas", [])
|
|
137
|
+
|
|
138
|
+
if not datas:
|
|
139
|
+
raise AssertionError(f"未找到事件:code={code}, channel={channel}")
|
|
140
|
+
matched_data = None
|
|
141
|
+
for data in datas:
|
|
142
|
+
if data.get("eventCode") == code and data.get("channelType") == channel:
|
|
143
|
+
matched_data = data
|
|
144
|
+
break
|
|
145
|
+
if not matched_data:
|
|
146
|
+
raise AssertionError(f"事件属性不匹配:code={code}, channel={channel}")
|
|
147
|
+
|
|
148
|
+
# 断言关键属性
|
|
149
|
+
assert matched_data.get("isMerchantEvent"), "isMerchantEvent应为True"
|
|
150
|
+
event_id = matched_data.get("eventId")
|
|
151
|
+
assert event_id, "eventId不存在"
|
|
152
|
+
return event_id
|
|
153
|
+
|
|
154
|
+
except Exception as e:
|
|
155
|
+
raise AssertionError(f"事件新增断言失败:{str(e)}") from e
|
|
156
|
+
finally:
|
|
157
|
+
if is_delete and event_id:
|
|
158
|
+
self.event_id = event_id
|
|
159
|
+
self.deleteEventMetaById(code)
|
|
@@ -5,14 +5,14 @@ smartpush/account/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
|
|
|
5
5
|
smartpush/account/operate_account.py,sha256=nzJLLAEwNElavZeWVqnA_MSGTBzQrSrknmezYBwtvWs,1525
|
|
6
6
|
smartpush/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
smartpush/base/faker_data.py,sha256=-OcFFQnDGpjZR3guo_tHfxV7zQEHo9ciidWGqKv_jNs,25437
|
|
8
|
-
smartpush/base/request_base.py,sha256=
|
|
9
|
-
smartpush/base/url_enum.py,sha256=
|
|
8
|
+
smartpush/base/request_base.py,sha256=hP5uhCwOMlCgwKjyh1PhJ5fCmWY-8LowZdW97r5cm_0,2938
|
|
9
|
+
smartpush/base/url_enum.py,sha256=OuEd3EqlLvKiYesU2gISPLh9wH2nNYZ-5nzBu_6Zxnw,2748
|
|
10
10
|
smartpush/crowd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
smartpush/crowd/crowd.py,sha256=KNwvX-BnBnMVVuHM79a-VeBMp_guB-Kqw3tFaAPiAp8,9768
|
|
12
12
|
smartpush/email/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
-
smartpush/email/activity.py,sha256=
|
|
14
|
-
smartpush/email/schema.py,sha256=
|
|
15
|
-
smartpush/email/universal_content.py,sha256=
|
|
13
|
+
smartpush/email/activity.py,sha256=Uogpx0oe0FBw4-SUTc6i1IjOeUql5JcYgDH0Niwz56g,10104
|
|
14
|
+
smartpush/email/schema.py,sha256=5LwJ4RIq-Vxy1Ndi6mPbFB1qGVITcfYQteo7jz6tBik,31273
|
|
15
|
+
smartpush/email/universal_content.py,sha256=ugK4N1a1fk5ihwy4Y4VAmsC2Vtk1hVNoZSK3jleKLTM,11947
|
|
16
16
|
smartpush/export/__init__.py,sha256=D9GbWcmwnetEndFDty5XbVienFK1WjqV2yYcQp3CM84,99
|
|
17
17
|
smartpush/export/basic/ExcelExportChecker.py,sha256=YqWmDGSFadQdK2vNJ070Qvad9ZtqEwiQyPkOemlACfs,21508
|
|
18
18
|
smartpush/export/basic/GetOssUrl.py,sha256=zxNZj6x7Ph9N3P5k82pLpBFjZxKrDfbgqS2fTYyhvso,8467
|
|
@@ -27,6 +27,8 @@ smartpush/form/form_after.py,sha256=KHatgVQvOiCykbfXm5TD07gvGvMgQYqQIQkcIKkAnQU,
|
|
|
27
27
|
smartpush/form/form_assert.py,sha256=wPIRfQHhr7lN1fFd-mp0z_qKMtF4jfrNxRWvp2xfqCg,257
|
|
28
28
|
smartpush/form/form_before.py,sha256=CCvAC_2yWPlnQGtjEA8LPLy9853Nq3nNjcL2GewFWIs,175
|
|
29
29
|
smartpush/form/form_client_operation.py,sha256=gg-5uHXCyMa_ypBSYPYFVxXdwZdYBJsNtUCqayknMBw,303
|
|
30
|
+
smartpush/openapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
|
+
smartpush/openapi/openapi.py,sha256=SFZ4HHjHgEQ5HVZu6-r_97C_dhRe6M8McrgaqGjEG5g,5558
|
|
30
32
|
smartpush/utils/DataTypeUtils.py,sha256=BC7ioztO3vAfKd1EOoNvXdVuXYY8qjNskV1DP7LhW-M,1082
|
|
31
33
|
smartpush/utils/EmailUtlis.py,sha256=DAHd73bJ8hiJCLEXtD0xcwxPD7SOPSmBB7Jvlf6gN6s,11201
|
|
32
34
|
smartpush/utils/ListDictUtils.py,sha256=Xc8kfSOZjX_k026Au4cfvtgFh5WoHxw4yRJWASyA_Cc,5041
|
|
@@ -34,7 +36,7 @@ smartpush/utils/StringUtils.py,sha256=n8mo9k0JQN63MReImgv-66JxmmymOGknR8pH2fkQrA
|
|
|
34
36
|
smartpush/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
37
|
smartpush/utils/date_utils.py,sha256=Xgx2DbmWYri71xXBiaKYTZDeh2a8MFhYns_xB0U2JOA,13159
|
|
36
38
|
smartpush/utils/form_utils.py,sha256=ld-g_Dm_ZlnagQt7imYfUc87bcBRVlTctywuLtzmjXQ,849
|
|
37
|
-
smartpush-2.0.
|
|
38
|
-
smartpush-2.0.
|
|
39
|
-
smartpush-2.0.
|
|
40
|
-
smartpush-2.0.
|
|
39
|
+
smartpush-2.0.6.dist-info/METADATA,sha256=261tn0vSpSr-nDPmcZXA0TxNbrBGKJF-3AD8a01_JG0,131
|
|
40
|
+
smartpush-2.0.6.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
41
|
+
smartpush-2.0.6.dist-info/top_level.txt,sha256=5_CXqu08EfbPaKLjuSAOAqCmGU6shiatwDU_ViBGCmg,10
|
|
42
|
+
smartpush-2.0.6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|