ep-sdk-4pd 3.0.6.dev0__tar.gz → 4.0.0.dev0__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.
Files changed (23) hide show
  1. {ep_sdk_4pd-3.0.6.dev0 → ep_sdk_4pd-4.0.0.dev0}/PKG-INFO +1 -1
  2. ep_sdk_4pd-4.0.0.dev0/ep_sdk_4pd/__init__.py +1 -0
  3. {ep_sdk_4pd-3.0.6.dev0 → ep_sdk_4pd-4.0.0.dev0}/ep_sdk_4pd/ep_data.py +85 -6
  4. {ep_sdk_4pd-3.0.6.dev0 → ep_sdk_4pd-4.0.0.dev0}/ep_sdk_4pd.egg-info/PKG-INFO +1 -1
  5. {ep_sdk_4pd-3.0.6.dev0 → ep_sdk_4pd-4.0.0.dev0}/setup.py +1 -1
  6. ep_sdk_4pd-3.0.6.dev0/ep_sdk_4pd/__init__.py +0 -1
  7. {ep_sdk_4pd-3.0.6.dev0 → ep_sdk_4pd-4.0.0.dev0}/README.md +0 -0
  8. {ep_sdk_4pd-3.0.6.dev0 → ep_sdk_4pd-4.0.0.dev0}/ep_sdk_4pd/ep_system.py +0 -0
  9. {ep_sdk_4pd-3.0.6.dev0 → ep_sdk_4pd-4.0.0.dev0}/ep_sdk_4pd/models.py +0 -0
  10. {ep_sdk_4pd-3.0.6.dev0 → ep_sdk_4pd-4.0.0.dev0}/ep_sdk_4pd.egg-info/SOURCES.txt +0 -0
  11. {ep_sdk_4pd-3.0.6.dev0 → ep_sdk_4pd-4.0.0.dev0}/ep_sdk_4pd.egg-info/dependency_links.txt +0 -0
  12. {ep_sdk_4pd-3.0.6.dev0 → ep_sdk_4pd-4.0.0.dev0}/ep_sdk_4pd.egg-info/requires.txt +0 -0
  13. {ep_sdk_4pd-3.0.6.dev0 → ep_sdk_4pd-4.0.0.dev0}/ep_sdk_4pd.egg-info/top_level.txt +0 -0
  14. {ep_sdk_4pd-3.0.6.dev0 → ep_sdk_4pd-4.0.0.dev0}/setup.cfg +0 -0
  15. {ep_sdk_4pd-3.0.6.dev0 → ep_sdk_4pd-4.0.0.dev0}/tests/test.py +0 -0
  16. {ep_sdk_4pd-3.0.6.dev0 → ep_sdk_4pd-4.0.0.dev0}/tests/test_call_train_done.py +0 -0
  17. {ep_sdk_4pd-3.0.6.dev0 → ep_sdk_4pd-4.0.0.dev0}/tests/test_get_run_strategy.py +0 -0
  18. {ep_sdk_4pd-3.0.6.dev0 → ep_sdk_4pd-4.0.0.dev0}/tests/test_get_system_date.py +0 -0
  19. {ep_sdk_4pd-3.0.6.dev0 → ep_sdk_4pd-4.0.0.dev0}/tests/test_history_data.py +0 -0
  20. {ep_sdk_4pd-3.0.6.dev0 → ep_sdk_4pd-4.0.0.dev0}/tests/test_model1.py +0 -0
  21. {ep_sdk_4pd-3.0.6.dev0 → ep_sdk_4pd-4.0.0.dev0}/tests/test_model_output_dir.py +0 -0
  22. {ep_sdk_4pd-3.0.6.dev0 → ep_sdk_4pd-4.0.0.dev0}/tests/test_predict_data.py +0 -0
  23. {ep_sdk_4pd-3.0.6.dev0 → ep_sdk_4pd-4.0.0.dev0}/tests/test_/350/212/202/347/202/271/345/235/207/345/200/274_v2.py" +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ep_sdk_4pd
3
- Version: 3.0.6.dev0
3
+ Version: 4.0.0.dev0
4
4
  Summary: 4paradigm Electricity Platform Service SDK Library for Python
5
5
  Home-page: https://gitlab.4pd.io/electricityproject/electricity-platform-sdk
6
6
  Author: 4paradigm Electricity Platform SDK
@@ -0,0 +1 @@
1
+ __version__ = '4.0.0.dev0'
@@ -1,5 +1,6 @@
1
1
  import json
2
2
  import os
3
+ import time
3
4
  from datetime import timedelta, datetime
4
5
 
5
6
  import requests
@@ -61,25 +62,103 @@ class EpData:
61
62
  'content-type': request.content_type,
62
63
  'Authorization': Authorization
63
64
  }
64
-
65
+ scopes = request.scope.split(",")
66
+ assert len(scopes) > 0 or "scope 参数错误"
67
+ gfs_resp = None
68
+ if 'gfs' in scopes:
69
+ gfs_resp = EpData.history_large_gfs_data(request=request)
70
+ if gfs_resp.code != 200:
71
+ return gfs_resp
72
+ scopes.remove('gfs')
73
+ if len(scopes) == 0:
74
+ return gfs_resp
65
75
  payload = {
66
- 'scope': request.scope,
76
+ 'scope': ",".join(scopes),
67
77
  'system_date': request.system_date,
68
78
  'days': request.days,
69
79
  'strategy_id': request.strategy_id
70
80
  }
71
-
72
81
  response = requests.request(
73
82
  method=request.method,
74
83
  url=full_url,
75
84
  headers=headers,
76
85
  data=json.dumps(payload),
77
86
  )
87
+ code = response.json().get('code', None)
88
+ data = response.json().get('data', None)
89
+ message = response.json().get('message', None)
90
+ if code == 200 and gfs_resp:
91
+ data.update(gfs_resp.data)
92
+ return ep_sdk_4pd_models.HistoryDataResponse(response=ep_sdk_4pd_models.BaseResponse(**{
93
+ 'code': code,
94
+ 'data': data,
95
+ 'message': message
96
+ }))
78
97
 
98
+ @staticmethod
99
+ def history_large_gfs_data(
100
+ request: ep_sdk_4pd_models.HistoryDataRequest = None,
101
+ ) -> ep_sdk_4pd_models.HistoryDataResponse:
102
+ """
103
+ 由于 gfs 数据可能会比较长,这里处理一下 将长时间的数据进行切分 然后进行组装。
104
+ 如果 request.days > 31 那么就将时间按照 31天的时间长度 进行切分
105
+ """
106
+ unit = 31
107
+ full_url = f'{endpoint}{request.api}'
108
+ headers = {
109
+ 'content-type': request.content_type,
110
+ 'Authorization': Authorization
111
+ }
112
+ ret = list()
113
+ code = 200
114
+ data = None
115
+ message = None
116
+ days = request.days
117
+ date = datetime.strptime(request.system_date, "%Y-%m-%d")
118
+ while True:
119
+ if days > unit:
120
+ days -= unit
121
+ d = unit
122
+ else:
123
+ d = days
124
+ days = 0
125
+
126
+ for _ in range(0, 3):
127
+ payload = {
128
+ 'scope': "gfs",
129
+ 'system_date': date.strftime("%Y-%m-%d"),
130
+ 'days': d,
131
+ 'strategy_id': request.strategy_id
132
+ }
133
+ response = requests.request(
134
+ method=request.method,
135
+ url=full_url,
136
+ headers=headers,
137
+ data=json.dumps(payload),
138
+ )
139
+ code = response.json().get('code', None)
140
+ data = response.json().get('data', None)
141
+ message = response.json().get('message', None)
142
+ if code == 200:
143
+ date -= timedelta(days=unit)
144
+ ret.extend(data['gfs'])
145
+ break
146
+ else:
147
+ time.sleep(0.1)
148
+ else:
149
+ return ep_sdk_4pd_models.HistoryDataResponse(response=ep_sdk_4pd_models.BaseResponse(
150
+ code=code,
151
+ data=data,
152
+ message=message,
153
+ ))
154
+ if days == 0:
155
+ break
79
156
  base_resp = ep_sdk_4pd_models.BaseResponse(
80
- code=response.json().get('code', None),
81
- data=response.json().get('data', None),
82
- message=response.json().get('message', None),
157
+ code=code,
158
+ data={
159
+ "gfs": ret
160
+ },
161
+ message=message,
83
162
  )
84
163
  return ep_sdk_4pd_models.HistoryDataResponse(response=base_resp)
85
164
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ep_sdk_4pd
3
- Version: 3.0.6.dev0
3
+ Version: 4.0.0.dev0
4
4
  Summary: 4paradigm Electricity Platform Service SDK Library for Python
5
5
  Home-page: https://gitlab.4pd.io/electricityproject/electricity-platform-sdk
6
6
  Author: 4paradigm Electricity Platform SDK
@@ -8,7 +8,7 @@ DESCRIPTION = '4paradigm Electricity Platform Service SDK Library for Python'
8
8
  AUTHOR = '4paradigm Electricity Platform SDK'
9
9
  AUTHOR_EMAIL = ''
10
10
  URL = 'https://gitlab.4pd.io/electricityproject/electricity-platform-sdk'
11
- VERSION = '3.0.6.dev0'
11
+ VERSION = '4.0.0.dev0'
12
12
  REQUIRES = ['requests']
13
13
 
14
14
  LONG_DESCRIPTION = ''
@@ -1 +0,0 @@
1
- __version__ = '3.0.6.dev0'