cloudpss 5.0.2__tar.gz → 5.0.3__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.
- {cloudpss-5.0.2 → cloudpss-5.0.3}/PKG-INFO +1 -1
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/job/TemplateCompiler.py +85 -32
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/job/TemplateManager.py +1 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/job/messageStreamReceiver.py +1 -1
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/job/result/__init__.py +1 -0
- cloudpss-5.0.3/cloudpss/version.py +1 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss.egg-info/PKG-INFO +1 -1
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss.egg-info/SOURCES.txt +2 -0
- cloudpss-5.0.3/test/test-eval.py +9 -0
- cloudpss-5.0.3/test/test-topology.py +27 -0
- cloudpss-5.0.3/test/test-topology33.py +27 -0
- cloudpss-5.0.2/cloudpss/version.py +0 -1
- cloudpss-5.0.2/test/test-topology.py +0 -25
- {cloudpss-5.0.2 → cloudpss-5.0.3}/README.md +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/__init__.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/asyncio/__init__.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/asyncio/job/__init__.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/asyncio/job/job.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/asyncio/job/messageStreamReceiver.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/asyncio/job/messageStreamSender.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/asyncio/model/__init__.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/asyncio/model/model.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/asyncio/model/revision.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/asyncio/model/topology.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/asyncio/utils/AsyncIterable.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/asyncio/utils/__init__.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/asyncio/utils/httpAsyncRequest.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/dslab/__init__.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/dslab/dataManageModel.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/dslab/dslab.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/dslab/files/__init__.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/dslab/files/curveData.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/dslab/files/files.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/dslab/financialAnalysisModel.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/function/__init__.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/function/function.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/function/functionExecution.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/function/job.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/ieslab/DataManageModel.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/ieslab/EvaluationModel.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/ieslab/IESLabOpt.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/ieslab/IESLabPlan.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/ieslab/IESLabSimulation.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/ieslab/PlanModel.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/ieslab/__init__.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/job/__init__.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/job/job.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/job/jobReceiver.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/job/messageStreamSender.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/job/result/DSLabReliabilityResult.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/job/result/DSLabResilienceResult.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/job/result/EMTResult.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/job/result/IESLabSimulationResult.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/job/result/IESLabTypicalDayResult.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/job/result/IESResult.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/job/result/PowerFlowResult.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/job/result/result.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/model/__init__.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/model/check/__init__.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/model/check/diagram.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/model/check/diagramExpressionChecker.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/model/check/environments.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/model/check/evaluator.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/model/check/scope.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/model/check/union_find.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/model/check/utils.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/model/implements/__init__.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/model/implements/component.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/model/implements/diagram.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/model/implements/implement.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/model/jobDefinitions.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/model/model.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/model/revision.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/model/topology.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/project/__init__.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/project/project.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/runner/DSLabResult.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/runner/IESLabEvaluationResult.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/runner/IESLabPlanResult.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/runner/IESLabTypicalDayResult.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/runner/MessageStreamReceiver.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/runner/__init__.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/runner/receiver.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/runner/result.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/runner/runner.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/runner/storage.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/runner/transform.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/utils/IO.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/utils/__init__.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/utils/dataEncoder.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/utils/graphqlUtil.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/utils/httprequests.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/utils/matlab.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/utils/parseDebugArgs.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/utils/yamlLoader.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss/verify.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss.egg-info/dependency_links.txt +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss.egg-info/requires.txt +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/cloudpss.egg-info/top_level.txt +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/setup.cfg +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/setup.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test-async.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test-async2.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test-async3.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test-plot.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test-plot1.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test-sdk.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test-sdk1.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test-snapshot.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test-tmp.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test-topology1.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test-yield.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test11.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test12.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test2.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test2221.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test7950.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/testAsync.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/testEvent.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/testRt-test.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/testRt.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/testRt2.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/testSend.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test_TCP.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test_control.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test_fetch_many.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test_in_new_web_1.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test_modepower_ampratio(3).py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test_rt.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test_rt_job.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test_tty.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test_ws.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test_ws2.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/test_ws3.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/testb.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/testkey.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/testnet copy.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/test/testnet.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/tests/test_ieslab_opt.py +0 -0
- {cloudpss-5.0.2 → cloudpss-5.0.3}/tests/test_model.py +0 -0
|
@@ -2,7 +2,7 @@ import json
|
|
|
2
2
|
from collections import namedtuple
|
|
3
3
|
from typing import Any, Dict, List, Union
|
|
4
4
|
import copy
|
|
5
|
-
|
|
5
|
+
import traceback
|
|
6
6
|
PARSER_STATUS_TEXT = 0
|
|
7
7
|
PARSER_STATUS_EXPRESSION_SIMPLE = 1
|
|
8
8
|
PARSER_STATUS_EXPRESSION_COMPLEX = 2
|
|
@@ -105,6 +105,7 @@ def parse_interpolation_impl(template, start, length):
|
|
|
105
105
|
'values': values,
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
+
|
|
108
109
|
# 是否为 ArrayBuffer
|
|
109
110
|
def is_array_buffer(value: Any) -> bool:
|
|
110
111
|
return isinstance(value, (memoryview, bytearray))
|
|
@@ -113,15 +114,28 @@ def is_array_buffer(value: Any) -> bool:
|
|
|
113
114
|
def is_error(value: Any) -> bool:
|
|
114
115
|
return isinstance(value, Exception)
|
|
115
116
|
|
|
117
|
+
def formula(template: str) -> str:
|
|
118
|
+
|
|
119
|
+
value=None
|
|
120
|
+
try:
|
|
121
|
+
from mirascript import compile
|
|
122
|
+
value = compile(template, input_mode='script')
|
|
123
|
+
except ImportError:
|
|
124
|
+
raise ImportError('mirascript is required for formula evaluation')
|
|
125
|
+
|
|
126
|
+
return {
|
|
127
|
+
'type': 'formula',
|
|
128
|
+
'value': value,
|
|
129
|
+
}
|
|
116
130
|
|
|
117
131
|
def parse_template(template: str) -> Any:
|
|
118
132
|
if not template:
|
|
119
133
|
return ''
|
|
134
|
+
if len(template) <= 1:
|
|
135
|
+
return template
|
|
120
136
|
if template.startswith('='):
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
'value': template[1:].strip(),
|
|
124
|
-
}
|
|
137
|
+
# print("formula template:", template)
|
|
138
|
+
return formula(template[1:].strip())
|
|
125
139
|
if template.startswith('$'):
|
|
126
140
|
result = parse_interpolation_impl(template, 1, len(template)-1)
|
|
127
141
|
if len(result['templates']) == 0:
|
|
@@ -140,7 +154,11 @@ class TemplateCompiler:
|
|
|
140
154
|
self.options = options
|
|
141
155
|
self.params = {}
|
|
142
156
|
self.copyable = []
|
|
157
|
+
self.useList = []
|
|
143
158
|
|
|
159
|
+
def use(self, name: str) -> str:
|
|
160
|
+
self.useList.append(name)
|
|
161
|
+
return len(self.useList) - 1
|
|
144
162
|
# 构建求值
|
|
145
163
|
def build_eval(self, expression: str, type_: str) -> str:
|
|
146
164
|
evaluator = self.options['evaluator']
|
|
@@ -149,28 +167,28 @@ class TemplateCompiler:
|
|
|
149
167
|
return evaluator['compile'](expression, type_)
|
|
150
168
|
|
|
151
169
|
# 构建字符串
|
|
152
|
-
def
|
|
170
|
+
def build_template(self, str_: str) -> Union[str, bool]:
|
|
153
171
|
parsed = parse_template(str_)
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
|
|
154
175
|
if isinstance(parsed, str):
|
|
155
|
-
return json.dumps(parsed)
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
result = '""'
|
|
165
|
-
result += '+' + self.build_eval(parsed['values'][i], parsed['type'])
|
|
166
|
-
return result, True
|
|
176
|
+
return json.dumps(parsed)
|
|
177
|
+
useIndex = self.use(parsed['value'][0])
|
|
178
|
+
# print("parsed template:", parsed['value'],str_,useIndex)
|
|
179
|
+
|
|
180
|
+
return """useList[{useIndex}](context)""".format(useIndex=useIndex)
|
|
181
|
+
# return "1"
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
|
|
167
185
|
|
|
168
186
|
# 构建 Error
|
|
169
187
|
def build_error(self, err: Exception) -> str:
|
|
170
188
|
constructor="Error"
|
|
171
189
|
if err.__class__.__name__ == constructor:
|
|
172
|
-
return f'new {constructor}({self.
|
|
173
|
-
return f'Object.assign(new {constructor}({self.
|
|
190
|
+
return f'new {constructor}({self.build_template(err.message)[0]})'
|
|
191
|
+
return f'Object.assign(new {constructor}({self.build_template(err.message)[0]}), {{name: {self.build_template(err.name)[0]}}})'
|
|
174
192
|
|
|
175
193
|
# 构建数组
|
|
176
194
|
def build_array(self, arr: List[Any]) -> str:
|
|
@@ -195,11 +213,8 @@ class TemplateCompiler:
|
|
|
195
213
|
if self.options['objectKeyMode'] == 'ignore':
|
|
196
214
|
result += json.dumps(key)
|
|
197
215
|
else:
|
|
198
|
-
e
|
|
199
|
-
|
|
200
|
-
result += f'[{e}]'
|
|
201
|
-
else:
|
|
202
|
-
result += e
|
|
216
|
+
e = self.build_template(key)
|
|
217
|
+
result += f'{e}'
|
|
203
218
|
result += ':'
|
|
204
219
|
result += self.build_value(value)
|
|
205
220
|
return '{' + result + '}'
|
|
@@ -214,8 +229,10 @@ class TemplateCompiler:
|
|
|
214
229
|
return 'False'
|
|
215
230
|
if isinstance(value, (int, float)):
|
|
216
231
|
return str(value)
|
|
232
|
+
|
|
217
233
|
if isinstance(value, str):
|
|
218
|
-
return self.
|
|
234
|
+
return self.build_template(value)
|
|
235
|
+
|
|
219
236
|
if isinstance(value, Exception):
|
|
220
237
|
return self.build_error(value)
|
|
221
238
|
if isinstance(value, list):
|
|
@@ -234,12 +251,15 @@ class TemplateCompiler:
|
|
|
234
251
|
source = self.build_value(self.template)
|
|
235
252
|
if self.copyable:
|
|
236
253
|
self.params['copyable'] = self.copyable
|
|
237
|
-
params = list(self.params.items())
|
|
254
|
+
# params = list(self.params.items())
|
|
255
|
+
# print("template source:", source)
|
|
238
256
|
try:
|
|
239
|
-
result = eval(f'lambda context: ({source})')
|
|
257
|
+
result = eval(f'lambda context: ({source})',{"useList": self.useList})
|
|
258
|
+
# result = eval(f'lambda context: (useList[127](context))',{"useList": self.useList})
|
|
240
259
|
result.source = source
|
|
241
260
|
return result
|
|
242
261
|
except Exception as e:
|
|
262
|
+
traceback.print_exc()
|
|
243
263
|
raise ValueError(f'Failed to compile template: {source}\n{str(e)}')
|
|
244
264
|
|
|
245
265
|
|
|
@@ -263,9 +283,42 @@ def template(templates,options={}):
|
|
|
263
283
|
|
|
264
284
|
|
|
265
285
|
if __name__ == "__main__":
|
|
286
|
+
|
|
287
|
+
# f =open("D:/code/python/test/result1-temp.json","r",encoding="utf-8")
|
|
288
|
+
|
|
289
|
+
# message =f.read()
|
|
290
|
+
# f.close()
|
|
291
|
+
# message = json.loads(message)
|
|
292
|
+
|
|
293
|
+
# id =message[0]
|
|
294
|
+
|
|
295
|
+
# templates=message[3:]
|
|
266
296
|
|
|
267
|
-
|
|
268
|
-
|
|
297
|
+
# x= template(templates)
|
|
298
|
+
|
|
299
|
+
# f2 =open("D:/code/python/test/result1-temp-value.json","r",encoding="utf-8")
|
|
300
|
+
# data =f2.read()
|
|
301
|
+
# f2.close()
|
|
302
|
+
# values=json.loads(data)
|
|
303
|
+
|
|
304
|
+
# print("x: ",x)
|
|
305
|
+
|
|
306
|
+
# data= values[2]
|
|
307
|
+
# try:
|
|
308
|
+
# s=x({**message[2],**data})
|
|
309
|
+
# print("s: ",s)
|
|
310
|
+
# except Exception as e:
|
|
311
|
+
# traceback.print_exc()
|
|
312
|
+
# print(f'Error: {e}')
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
message =[
|
|
316
|
+
782312650,
|
|
317
|
+
1,
|
|
318
|
+
{'t': [], 'd5': [], 'd8': [], 'd9': [], 'v0': 'append', 'd6': [], 'v1': 'append'},
|
|
319
|
+
{'key': 'plot-1', 'version': 1, 'type': 'plot', 'verb': '=v0', 'data': {'title': '整流侧交流电流', 'layout': {'xaxis.range': '=xr0', 'xaxis.autorange': False}, 'traces': [{'name': 'Ia', 'type': 'scattergl', 'yaxis': 'y', 'x': '=t', 'y': '=d5'}, {'name': 'Ib', 'type': 'scattergl', 'yaxis': 'y', 'x': '=t', 'y': '=d8'}, {'name': 'Ic', 'type': 'scattergl', 'yaxis': 'y', 'x': '=t', 'y': '=d9'}]}},
|
|
320
|
+
{'key': 'plot-2', 'version': 1, 'type': 'plot', 'verb': '=v1', 'data': {'title': 'A相上桥臂电容电压', 'layout': {'xaxis.range': '=xr1', 'xaxis.autorange': False}, 'traces': [{'name': 'Vc', 'type': 'scattergl', 'yaxis': 'y', 'x': '=t', 'y': '=d6'}]}}
|
|
321
|
+
]
|
|
269
322
|
id =message[0]
|
|
270
323
|
|
|
271
324
|
templates=message[3:]
|
|
@@ -274,9 +327,9 @@ if __name__ == "__main__":
|
|
|
274
327
|
|
|
275
328
|
values=[782312650, 1, {'t': [0.009999999999999967, 0.010999999999999961, 0.011999999999999955, 0.012999999999999949, 0.013999999999999943, 0.014999999999999937, 0.015999999999999945, 0.016999999999999973, 0.018000000000000002, 0.01900000000000003], 'd5': [0.07483153188510672, 0.09331340076657475, 0.10060354339781043, 0.08143820164529898, 0.06475492808815062, 0.03988870901471444, 0.017856545584211857, -0.00022077163899950848, -0.01795813197603053, -0.02080189617972792], 'd8': [-0.1375203178103291, -0.10701993395081587, -0.08370609309571676, -0.04136648742407317, -0.009632672956318231, 0.012930786595120338, 0.023576938091071184, 0.027067414097930786, 0.02056424854512571, 0.0032354404004249202], 'd9': [0.06256431502056557, 0.013651990940627457, -0.01694762608987588, -0.039966571588256096, -0.055297953120400006, -0.05275643941375492, -0.04137165007706727, -0.02687559851684142, -0.0025904403473839465, 0.017612961883902756], 'd6': [11.089656437630765, 11.090168556304207, 11.09058932753887, 11.090721058893884, 11.090593484855583, 11.090478358824114, 11.090135588005115, 11.089385203292103, 11.088182236357547, 11.086255229686746], 'xr0': [0, 2], 'xr1': [0, 2]}]
|
|
276
329
|
|
|
277
|
-
print(x)
|
|
330
|
+
# print(x)
|
|
278
331
|
|
|
279
332
|
data= values[2]
|
|
280
|
-
s=x(data)
|
|
333
|
+
s=x({**message[2],**data})
|
|
281
334
|
|
|
282
335
|
print(s)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = '5.0.3'
|
|
@@ -95,6 +95,7 @@ cloudpss/utils/yamlLoader.py
|
|
|
95
95
|
test/test-async.py
|
|
96
96
|
test/test-async2.py
|
|
97
97
|
test/test-async3.py
|
|
98
|
+
test/test-eval.py
|
|
98
99
|
test/test-plot.py
|
|
99
100
|
test/test-plot1.py
|
|
100
101
|
test/test-sdk.py
|
|
@@ -103,6 +104,7 @@ test/test-snapshot.py
|
|
|
103
104
|
test/test-tmp.py
|
|
104
105
|
test/test-topology.py
|
|
105
106
|
test/test-topology1.py
|
|
107
|
+
test/test-topology33.py
|
|
106
108
|
test/test-yield.py
|
|
107
109
|
test/test.py
|
|
108
110
|
test/test11.py
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
import os
|
|
3
|
+
sys.path.append(os.path.join(os.path.dirname(__file__), '..\\'))
|
|
4
|
+
import cloudpss
|
|
5
|
+
import time
|
|
6
|
+
import numpy as np
|
|
7
|
+
import json
|
|
8
|
+
|
|
9
|
+
if __name__ == '__main__':
|
|
10
|
+
os.environ['CLOUDPSS_API_URL'] = 'http://10.101.10.233/'
|
|
11
|
+
print('CLOUDPSS connected')
|
|
12
|
+
cloudpss.setToken(
|
|
13
|
+
'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwidXNlcm5hbWUiOiJhZG1pbiIsInNjb3BlcyI6WyJtb2RlbDo5ODM2NyIsImZ1bmN0aW9uOjk4MzY3IiwiYXBwbGljYXRpb246MzI4MzEiXSwicm9sZXMiOlsiYWRtaW4iXSwidHlwZSI6ImFwcGx5IiwiZXhwIjoxODEyMTg5MTc3LCJub3RlIjoidGVzdCIsImlhdCI6MTc4MTA4NTE3N30.DqEEQSztiCALqumIbDVodK-tzWz_x5WpGtevkLyKi3qrKXpZGgclCyjrFLNT9YlJWYD12N-C7qe5x_tTeJZ_3w')
|
|
14
|
+
print('Token done')
|
|
15
|
+
# project = cloudpss.Model.fetch('model/open-cloudpss/CSEE_PFO_Temporary-v1b1')
|
|
16
|
+
|
|
17
|
+
# topology = project.fetchTopology(config={'args':{}},maximumDepth=50)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
topology = cloudpss.ModelTopology.fetch('tlHIN5yZlnBM7VS11ssM8ReNAB2rNpSa-p4P-XKQYwFjOX9ZVWaqKArPj8vQV6Ay','emtp',config={'args':{}})
|
|
23
|
+
|
|
24
|
+
print(topology)
|
|
25
|
+
|
|
26
|
+
topology.dump(topology, 'topology.json', indent=4)
|
|
27
|
+
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
import os
|
|
3
|
+
sys.path.append(os.path.join(os.path.dirname(__file__), '..\\'))
|
|
4
|
+
import cloudpss
|
|
5
|
+
import time
|
|
6
|
+
import numpy as np
|
|
7
|
+
import json
|
|
8
|
+
|
|
9
|
+
if __name__ == '__main__':
|
|
10
|
+
os.environ['CLOUDPSS_API_URL'] = 'http://10.101.10.33/'
|
|
11
|
+
print('CLOUDPSS connected')
|
|
12
|
+
cloudpss.setToken(
|
|
13
|
+
'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwidXNlcm5hbWUiOiJhZG1pbiIsInNjb3BlcyI6WyJtb2RlbDo5ODM2NyIsImZ1bmN0aW9uOjk4MzY3IiwiYXBwbGljYXRpb246MzI4MzEiXSwicm9sZXMiOlsiYWRtaW4iXSwidHlwZSI6ImFwcGx5IiwiZXhwIjoxODEyMTk0MDg0LCJub3RlIjoieHgiLCJpYXQiOjE3ODEwOTAwODR9.SsS8E92Ya9xro-zrVw7b6Gf-o-xLpg3Wja2eCqCq6qK_Fajl-MqCTzHsNUIKZ2El4UweZovv8ZT6DqBwBkDOvw')
|
|
14
|
+
print('Token done')
|
|
15
|
+
# project = cloudpss.Model.fetch('model/open-cloudpss/CSEE_PFO_Temporary-v1b1')
|
|
16
|
+
|
|
17
|
+
# topology = project.fetchTopology(config={'args':{}},maximumDepth=50)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
topology = cloudpss.ModelTopology.fetch('UOOLix43SwMTDdVSaYUDsBkvP_fbajRetIJcATOtJ9mFtMkRxZRPinS1JOvBb3Zg','emtp',config={'args':{}})
|
|
23
|
+
|
|
24
|
+
print(topology)
|
|
25
|
+
|
|
26
|
+
topology.dump(topology, 'topology2.json', indent=4)
|
|
27
|
+
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = '5.0.2'
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import sys
|
|
2
|
-
import os
|
|
3
|
-
sys.path.append(os.path.join(os.path.dirname(__file__), '..\\'))
|
|
4
|
-
import cloudpss
|
|
5
|
-
import time
|
|
6
|
-
import numpy as np
|
|
7
|
-
import json
|
|
8
|
-
|
|
9
|
-
if __name__ == '__main__':
|
|
10
|
-
os.environ['CLOUDPSS_API_URL'] = 'http://10.101.10.42/'
|
|
11
|
-
print('CLOUDPSS connected')
|
|
12
|
-
cloudpss.setToken(
|
|
13
|
-
'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwidXNlcm5hbWUiOiJhZG1pbiIsInNjb3BlcyI6WyJicm93c2VyIl0sInR5cGUiOiJicm93c2VyIiwiZXhwIjoxNzc2NDIzODExLCJpYXQiOjE3NzM3NDU0MTF9.U7rBhaNes1JF6CvyaE4eMDs6dwTxTYqa_kZAaTW70gikWUal7pQBpwx7S53y7nhmjxM8ISxwMsc-QWW_wJId_g')
|
|
14
|
-
print('Token done')
|
|
15
|
-
project = cloudpss.Model.fetch('model/admin/adfw123')
|
|
16
|
-
|
|
17
|
-
topology = project.fetchTopology(config={'args':{}},maximumDepth=10)
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
topology.dump(topology,'test.json')
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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
|
|
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
|
|
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
|