cloudpss 4.1.1a11__py3-none-any.whl → 4.1.1a13__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.
@@ -396,4 +396,14 @@ class FunctionExecution(object):
396
396
  'yAxis': layout.get('yaxis', {}),
397
397
  }
398
398
  }
399
+ self.print(result)
400
+
401
+ def custom(self, data, key=None,verb='replace'):
402
+ result = {
403
+ 'key': key,
404
+ 'version': 1,
405
+ 'verb': verb,
406
+ 'type': 'custom',
407
+ 'data': data
408
+ }
399
409
  self.print(result)
@@ -83,26 +83,50 @@ class DataManageModel(object):
83
83
 
84
84
  :return: 无
85
85
  '''
86
- list = ['thermalLoads', 'electricLoads', 'fuels', 'typhoon', 'rainfall', 'earthquake', 'extremeCold']
87
- for kind,value in self._kindUrlMap.items():
88
- try:
86
+ try:
87
+ r = request('GET',
88
+ self._dataManageUrl,
89
+ params={
90
+ "simulationId": self.simulationId
91
+ ,
92
+ })
93
+ data = json.loads(r.text)
94
+ info = data['info']
95
+ for kind,value in info.items():
96
+ if kind =='Weather':
97
+ continue
98
+
99
+ for k,data in value.items():
100
+ self._kindItemDataMap[k]=value
101
+ for val in data:
102
+ self._itemDataMap[str(val['timeid'])]=val
103
+ self._itemDataMap[str(val['id'])]=val
104
+ self._kindIdMap[str(val['timeid'])]=k
105
+ self._kindIdMap[str(val['id'])]=k
106
+ except Exception as e:
107
+ print('获取数据失败',e)
108
+ pass
109
+
110
+ # list = ['thermalLoads', 'electricLoads', 'fuels', 'typhoon', 'rainfall', 'earthquake', 'extremeCold']
111
+ # for kind,value in self._kindUrlMap.items():
112
+ # try:
89
113
 
90
- if kind in list:
91
- dataList = self._fetchItemData(self._kindUrlMap[kind], None)
92
- else:
93
- dataList = self._fetchItemData(self._kindUrlMap[kind], kind)
94
- except Exception as e:
95
- pass
96
- self._kindItemDataMap[kind]=dataList
97
- for val in dataList:
98
- self._itemDataMap[str(val['timeid'])]=val
99
- self._itemDataMap[str(val['id'])]=val
100
- self._kindIdMap[str(val['timeid'])]=kind
101
- self._kindIdMap[str(val['id'])]=kind
114
+ # if kind in list:
115
+ # dataList = self._fetchItemData(self._kindUrlMap[kind], None)
116
+ # else:
117
+ # dataList = self._fetchItemData(self._kindUrlMap[kind], kind)
118
+ # except Exception as e:
119
+ # pass
120
+ # self._kindItemDataMap[kind]=dataList
121
+ # for val in dataList:
122
+ # self._itemDataMap[str(val['timeid'])]=val
123
+ # self._itemDataMap[str(val['id'])]=val
124
+ # self._kindIdMap[str(val['timeid'])]=kind
125
+ # self._kindIdMap[str(val['id'])]=kind
102
126
 
103
127
  def GetDataItem(self, ID: str):
104
128
  '''
105
- 获取ID对应的元素信息
129
+ 获取ID对应的数据信息
106
130
 
107
131
  :params: ID string类型,代表数据项的标识符,可以在所有类型的数据项中实现唯一标识
108
132
 
@@ -281,11 +305,35 @@ class DataManageModel(object):
281
305
  })
282
306
  weatherData = json.loads(r.text)
283
307
  return weatherData['results']
308
+
309
+ def UpdateAtmosData(self, data):
310
+ '''
311
+ 更新气象数据
312
+ :data: list类型,表示数据内容,其数据结构应满足对应数据项的满足如下结构要求:
313
+ "lat": string类型 坐标纬度
314
+ "lng": string类型 坐标经度
315
+ "time": string类型 表示时间 需满足格式YYYY-MM-DD hh:mm:ss 如"2016-01-01 00:00:00"
316
+ "t10m": string类型 表示环境温度(℃)
317
+ "lwgab_swgdn": string类型 表示太阳辐射强度(W/m2)
318
+ "u10m": string类型 距地面10m处东向风速(m/s)
319
+ "u50m": string类型 距地面50m处东向风速(m/s)
320
+ "v10m": string类型 距地面10m处北向风速(m/s)
321
+ "v50m": string类型 距地面50m处北向风速(m/s)
322
+ "adj_sfc_sw_direct_all_1h": string类型 短波直射强度(W/m²)
323
+ "adj_sfc_sw_diff_all_1h": string类型 短波散射强度(W/m²)
324
+ "solar_zen_angle_1h": string类型 太阳天顶角°
325
+ :return: bool 类型,返回True 更新成功
326
+ '''
327
+ r = request('POST',
328
+ self._weatherUrl,
329
+ data=json.dumps({"sid":self.simulationId, "data":data}))
330
+ return r.ok
284
331
 
285
332
 
286
333
  class IESSimulationDataManageModel(DataManageModel):
287
334
  _baseUri = 'api/ieslab-simulation/'
288
335
  _weatherUrl = 'api/ieslab-simulation/rest/weather_data/'
336
+ _dataManageUrl = 'api/ieslab-simulation/editor/data_manage/'
289
337
  _kindNameMap = {
290
338
  "光伏": "PhotovoltaicSys",
291
339
  "风机": "WindPowerGenerator",
@@ -352,6 +400,7 @@ class IESSimulationDataManageModel(DataManageModel):
352
400
  class IESPlanDataManageModel(DataManageModel):
353
401
  _baseUri = 'api/ieslab-plan/'
354
402
  _weatherUrl = 'api/ieslab-plan/rest/weather_data/'
403
+ _dataManageUrl = 'api/ieslab-plan/editor/data_manage/'
355
404
  _kindNameMap = {
356
405
  "光伏": "PhotovoltaicSys",
357
406
  "风机": "WindPowerGenerator",
@@ -130,15 +130,6 @@ class IESLabPlan(object):
130
130
  :return: Boolean
131
131
  '''
132
132
  return self.planModel.kill()
133
-
134
- def createProjectGroup(self, name):
135
- '''
136
- 创建项目组
137
-
138
- :params name: 项目组名称
139
-
140
- :return: 返回一个创建的项目组
141
- '''
142
133
 
143
134
  @staticmethod
144
135
  def createProjectGroup(group_name, desc=None, createById=None):
@@ -5,7 +5,7 @@ from .DataManageModel import IESSimulationDataManageModel
5
5
 
6
6
 
7
7
  class IESLabSimulation(object):
8
- def __init__(self, project={},model=None):
8
+ def __init__(self, project={},model:Model=None):
9
9
  '''
10
10
  初始化
11
11
  '''
@@ -41,7 +41,7 @@ class IESLabPlanModel(object):
41
41
  except:
42
42
  return OptimizationMode['经济性']
43
43
 
44
- def SetOptimizationInfo(self, optType):
44
+ def SetOptimizationInfo(self, optType):
45
45
  '''
46
46
  无对应接口
47
47
  设置当前算例的优化目标
@@ -128,12 +128,16 @@ class IESLabPlanModel(object):
128
128
  status = data.get('status', '')
129
129
  if status == 'stop':
130
130
  isRunning = False
131
- logs = IESLabPlanResult(self.simulationId).GetLogs()
132
- if logs is not None:
133
- for log in logs:
134
- if(log.get('data', '') == 'run ends'):
135
- isRunning = False
136
- break
131
+ try:
132
+
133
+ logs = IESLabPlanResult(self.simulationId).GetLogs()
134
+ if logs is not None:
135
+ for log in logs:
136
+ if(log.get('data', '') == 'run ends'):
137
+ isRunning = False
138
+ break
139
+ except:
140
+ return False
137
141
  return isRunning
138
142
 
139
143
 
@@ -52,14 +52,12 @@ class MessageStreamReceiver(JobReceiver):
52
52
  self.ws.url = self.__path(data["id"])
53
53
  msg = IO.deserialize(data["data"], "ubjson")
54
54
  self.messages.append(msg)
55
- # print(msg['type'])
56
55
  # if(msg['type']=='terminate'):
57
56
  # self.close(self.ws)
58
57
  return msg
59
58
 
60
59
 
61
60
  def __on_error(self, *args, **kwargs):
62
- print('error',args,kwargs)
63
61
  logging.debug("MessageStreamReceiver error")
64
62
  msg = {
65
63
  "type": "log",
cloudpss/model/model.py CHANGED
@@ -1,7 +1,6 @@
1
1
  import os
2
2
  import re
3
3
  from copy import deepcopy
4
-
5
4
  from cloudpss.job.job import Job
6
5
  from cloudpss.job.view import EMTView, IESView, PowerFlowView
7
6
  from cloudpss.job.view.view import View
@@ -96,7 +95,7 @@ class Model(object):
96
95
  model = {**self.__dict__, "revision": self.revision.toJSON()}
97
96
  return model
98
97
 
99
- def getAllComponents(self):
98
+ def getAllComponents(self)->dict:
100
99
  """
101
100
  获取实现
102
101
 
cloudpss/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = '4.1.1-alpha.11'
1
+ __version__ = '4.1.1-alpha.13'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cloudpss
3
- Version: 4.1.1a11
3
+ Version: 4.1.1a13
4
4
  Summary: cloudpss sdk
5
5
  Home-page: https://www.cloudpss.net
6
6
  Author: cloudpss
@@ -1,6 +1,6 @@
1
1
  cloudpss/__init__.py,sha256=mW9gPztzpnqRGs47bj7Qo5iKMagT4CkBOEYZBzSHtPk,802
2
2
  cloudpss/verify.py,sha256=KF4Gd59DGvCyIEkRD7rNnekWw22XxJpi3DW6keb6j4c,1498
3
- cloudpss/version.py,sha256=IsM0DmmMImTyVg6EIzloWrPatJ-kj5fR7Q-ZBYwlF4Y,31
3
+ cloudpss/version.py,sha256=lac000KPi8fXbvg3XzMZvBOBjWFrdxOHqQuMSjkNgaY,31
4
4
  cloudpss/asyncio/__init__.py,sha256=CJGopQl_vz3z3fJsK7NjMX5uzkzfrJrbqKVhyYqlYWc,198
5
5
  cloudpss/asyncio/job/__init__.py,sha256=3UIFZYjJTzuckM61o8kim1c3PWt2SSHTL72jrGu5IzI,51
6
6
  cloudpss/asyncio/job/job.py,sha256=ExA-8JVOWWW5neVvNazPk4i3Z-q8xqYBL4qXU1m3rgM,3891
@@ -15,13 +15,13 @@ cloudpss/asyncio/utils/__init__.py,sha256=F-rCvgRAGcV-fFO7o-dsXwooyhcVpElWoBEQM6
15
15
  cloudpss/asyncio/utils/httpAsyncRequest.py,sha256=KIck-3uQwGcHMIJ6632_Zo0syc4GnNG2EoUXmQh54ck,2692
16
16
  cloudpss/function/__init__.py,sha256=TNzChB-gQF6oB62F423evpUlgcp6s03D4pKKs89Lz4Q,1629
17
17
  cloudpss/function/function.py,sha256=llomkfnTmKMiFJYJ2mKnmAEoIjTNVCnjCUUyiJMOV1s,29
18
- cloudpss/function/functionExecution.py,sha256=YnuBl9dLoVYlPUrfse8_O-4uIAG0QrCIyQdDP2zaQt4,14645
18
+ cloudpss/function/functionExecution.py,sha256=o5S6EK6v2lXH4CY18dl2xSNgAYywpAGAToEIPk-q6Ms,14894
19
19
  cloudpss/function/job.py,sha256=LdzaTyjvBcMZIyLstSZnt79d2eREljx2HnNoilDp03A,13162
20
- cloudpss/ieslab/DataManageModel.py,sha256=YMpwp04GmkaK1gCnzp5tNAoPwkVfa9AkJPviqNOat7s,19445
20
+ cloudpss/ieslab/DataManageModel.py,sha256=G4FzLcEE5st9j6v679q3NxtcEfgYk2qUJt_OTSEc_b0,21921
21
21
  cloudpss/ieslab/EvaluationModel.py,sha256=SD7VB81wZnebGQWpx-eTQMQxe6ekFUFycQxz6RyYwOI,6721
22
- cloudpss/ieslab/IESLabPlan.py,sha256=lxeNReESNtmJN5bBZvgq57wIqyorOv-9M_TgKO87RL4,8522
23
- cloudpss/ieslab/IESLabSimulation.py,sha256=rkBxQC8GuVvRh6oroGa9n2QszWrkU2nMTyQOSvXRiF4,4040
24
- cloudpss/ieslab/PlanModel.py,sha256=Dk5ZS_8IASqzMlLeN_gIDk76Gm_ybXjGY4pULBsWvEw,4790
22
+ cloudpss/ieslab/IESLabPlan.py,sha256=fL7uiVJNOkx5HYu6XX0HPrtrOCs455ff7NE1UgJ3vG4,8329
23
+ cloudpss/ieslab/IESLabSimulation.py,sha256=-EJFkhklN9ao-nbfk7Lz6JCHboFCSDcn5R2jr3_Z7_A,4046
24
+ cloudpss/ieslab/PlanModel.py,sha256=Z_7pME2GHhBMYk9bXu8hKjP_NpM_SUAUr3-I2o_7DPo,4883
25
25
  cloudpss/ieslab/__init__.py,sha256=kiyUaGRgtwqs0EI2dBBqLVK5V65u1PcY7YTFJX1T0yw,186
26
26
  cloudpss/job/__init__.py,sha256=3UIFZYjJTzuckM61o8kim1c3PWt2SSHTL72jrGu5IzI,51
27
27
  cloudpss/job/job.py,sha256=aLDq6S0tbbb7Mr9CuhzGxJX2vZO91PBojWfgywuwjn8,7551
@@ -30,7 +30,7 @@ cloudpss/job/jobPolicy.py,sha256=Va3jvx7kPTN4WPc9I2uF5Hl2FW75zXGWenbdOb-xyXg,404
30
30
  cloudpss/job/jobQueue.py,sha256=31Q7NCjb_51d1JOokVyxIfP1r6S_A-ObySJKwt8MxR8,416
31
31
  cloudpss/job/jobReceiver.py,sha256=b52Q7eQjVXi1C8xP2koix6N0GdQy_ar0YJ33KyPfsSA,919
32
32
  cloudpss/job/jobTres.py,sha256=1wwdvwxpYKOfsZ1R95Wkhyg_QYMzqzKoaLJLdB-bD88,148
33
- cloudpss/job/messageStreamReceiver.py,sha256=2EvI7BC8u43UYYUMXXyjxQntc5E7xVt9C3n8yi6ztyE,4201
33
+ cloudpss/job/messageStreamReceiver.py,sha256=eWbwG6rdlBitPXoIoQdduw2tG06pv-NxbhkOE-C2_Jo,4137
34
34
  cloudpss/job/messageStreamSender.py,sha256=CZ81diUIjruUol-gUS_l4QnUSctkFg6JPBfALsvpXU4,2389
35
35
  cloudpss/job/view/EMTView.py,sha256=x7vNedo-RyH8Ukm5YaQSec6BPcskqopwGGyVDMVxV8U,6933
36
36
  cloudpss/job/view/IESLabSimulationView.py,sha256=_hD-fdEwC6U8hQYbXliNMEii0WxiteglQZuLOSQmMOM,76
@@ -41,7 +41,7 @@ cloudpss/job/view/__init__.py,sha256=j_X6aFeY-wa6_0r1EixE0rrvGz_67m4fIqOLmUbkxqY
41
41
  cloudpss/job/view/view.py,sha256=hcODAUozKnVgA-iKa_HABFoQEKDzkzDEuhvEkjh707o,4141
42
42
  cloudpss/model/__init__.py,sha256=SNq-bfwcQtDHtTNBYppfUEs8wkjfrQfGeywx7igmvOs,151
43
43
  cloudpss/model/jobDefinitions.py,sha256=XqjaaWOLU7zlVHM7TQJbZ3rNBWfBY7eT-5aE6EAatcQ,3770
44
- cloudpss/model/model.py,sha256=GK7SRE9QLpKoLG13IF_1fyRrCR3EDy75487klzz7MGg,25397
44
+ cloudpss/model/model.py,sha256=u3QTBDqNDN8kBVPerovDXjgLEVQvO3-xTpVr2ieuDRY,25402
45
45
  cloudpss/model/revision.py,sha256=Dq4smv-wETfL6Tavp03q53Fx8h07th5-CDoAttEwwgw,3929
46
46
  cloudpss/model/topology.py,sha256=nTFq76CPmbkTgglI2Z-SlaJpymRkCXwehD_qE2K7f4I,2313
47
47
  cloudpss/model/implements/__init__.py,sha256=88L_wF9SSzxsbtqwStWIPH4LxaKq7TVcssHQ62YBnls,67
@@ -67,7 +67,7 @@ cloudpss/utils/graphqlUtil.py,sha256=swl6XT1UmUQHdHjMWw3M0i8meEmVKNQvX0SHsbgg8TU
67
67
  cloudpss/utils/httprequests.py,sha256=09nxqw1b56H-QefZxOUcvdPgA4U6Zq96JcRSYM5NP5o,1729
68
68
  cloudpss/utils/matlab.py,sha256=SLwVt790BjklJK2XNELt9R2n_1ej9Y8QsTIdFkKXLWE,795
69
69
  cloudpss/utils/yamlLoader.py,sha256=bv_vPDK_e0n_vZ5FwpDJ_NJWqMAwfU3AbhkvQIxPCy4,2677
70
- cloudpss-4.1.1a11.dist-info/METADATA,sha256=47DP5yPsH2LK11dks9tr9y5mJR1nI5DOAM34_xHvXU8,2394
71
- cloudpss-4.1.1a11.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
72
- cloudpss-4.1.1a11.dist-info/top_level.txt,sha256=wS9qPU4-aWM9ouzMOx34Nlq-GkdQKpr9vBskwut1BD8,9
73
- cloudpss-4.1.1a11.dist-info/RECORD,,
70
+ cloudpss-4.1.1a13.dist-info/METADATA,sha256=xrwAlYP-2M5KLNq0C7T827p-Uu9H-McCUUD-N3YD9Xc,2394
71
+ cloudpss-4.1.1a13.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
72
+ cloudpss-4.1.1a13.dist-info/top_level.txt,sha256=wS9qPU4-aWM9ouzMOx34Nlq-GkdQKpr9vBskwut1BD8,9
73
+ cloudpss-4.1.1a13.dist-info/RECORD,,