cloudpss 4.5.1__py3-none-any.whl → 4.5.1a2__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.
@@ -0,0 +1,92 @@
1
+ import json
2
+ from ..utils.httprequests import request
3
+
4
+ class DSLabResult(object):
5
+ _baseUri = "api/dslab/rest/"
6
+ _kindNameMap = {
7
+ "利润与利润分配": "getEconomyResult",
8
+ "财务计划现金": "getFinancialPlanCashFlowResult",
9
+ "资产负债": "getLiabilityAssetsResult",
10
+ "投资使用计划与资金筹措": "getInvestPlanDataResult",
11
+ "借款还本付息计划": "getLoanRepaymentPlanResult",
12
+ "流动资金估算": "getFlowCashEvaluteResult",
13
+ "资产折旧与摊销估算": "getFlowCashEvaluteResult",
14
+ "总成本费用估算表": "getSumCostResult",
15
+ "项目总投资现金流量": "getSumInvestFlowCashResult",
16
+ "项目资本金现金流量": "getProjectCashFlowResult",
17
+ "营业收入、税金、附加和增值税估算": "getIncomeTaxResult",
18
+ }
19
+
20
+ def __init__(self, simulationId, taskId=None, **keywords) -> None:
21
+ """
22
+ 初始化
23
+ """
24
+ self.simulationId = simulationId
25
+ self.timeId = keywords.get("timeId", 0)
26
+ self.planId = keywords.get("planId", 0)
27
+ self.cmdType = keywords.get("cmdType", None)
28
+
29
+ def _fetchItemData(self, url, planID):
30
+ """
31
+ 获取planID对应的优化方案下resultType财务评估结果
32
+
33
+ :param planID int 类型,表示优化方案的ID,数值位于0~优化方案数量之间
34
+ :param resultType enum 类型,表示财务评价结果表格的类型
35
+
36
+ :return: dict 类型,为源数据的引用,代表方案对应的财务评价基础参数信息
37
+ """
38
+ r = request(
39
+ "GET", url, params={"simu": self.simulationId, "planId": planID, "time": 0}
40
+ )
41
+ data = json.loads(r.text)
42
+ return data
43
+
44
+ def status(self):
45
+ """
46
+ 获取运行状态
47
+
48
+ :return: boolean 类型
49
+ """
50
+ result = self.GetOverviewResult()
51
+ if result is None or type(result) is list:
52
+ return False
53
+ return True
54
+
55
+ def GetFinancialResult(self, resultType):
56
+ """
57
+ 获取planID对应的优化方案下resultType财务评估结果
58
+ :param planID int 类型,表示优化方案的ID,数值位于0~优化方案数量之间
59
+ :param resultType enum 类型,表示财务评价结果表格的类型
60
+
61
+ :return: dict 类型,为源数据的引用,代表方案对应的财务评价基础参数信息
62
+
63
+ """
64
+ assert resultType in self._kindNameMap, "数据类型不存在"
65
+ kind = self._kindNameMap.get(resultType, resultType)
66
+ url = f"{self._baseUri}{kind}"
67
+ list = self._fetchItemData(url, self.planId)
68
+ dict_result = dict()
69
+ for val in list:
70
+ for k, v in val.items():
71
+ dict_result[k] = v
72
+ return dict_result["data"]
73
+
74
+ def GetOverviewResult(self):
75
+ """
76
+ 获取当前结果类对应的概览结果
77
+
78
+ :return: array类型,代表该方案对应的概览结果
79
+ """
80
+ r = request(
81
+ "GET",
82
+ "api/dslab/rest/getOverviewResult",
83
+ params={
84
+ "simu": self.simulationId,
85
+ "planId": self.planId,
86
+ "time": self.timeId,
87
+ },
88
+ )
89
+ result = json.loads(r.text)
90
+ if len(result) > 0:
91
+ return result[0]["data"]
92
+ return None
cloudpss/runner/result.py CHANGED
@@ -116,7 +116,6 @@ class Result(object):
116
116
 
117
117
  >>> message= result.getMessagesByType('log')
118
118
  """
119
-
120
119
  return self.db.getMessagesByType(type)
121
120
 
122
121
 
cloudpss/runner/runner.py CHANGED
@@ -15,7 +15,8 @@ from .IESLabEvaluationResult import IESLabEvaluationResult, IESLabPlanEvaluation
15
15
  from .IESLabTypicalDayResult import IESLabTypicalDayResult
16
16
  from .storage import Storage
17
17
  from ..utils import request
18
- from typing import TypeVar, Generic
18
+ from typing import TypeVar, Generic
19
+ from .DSLabResult import DSLabResult
19
20
  import re
20
21
 
21
22
  RECEIVER = {
@@ -35,6 +36,10 @@ IES_LAB_OPT_RESULT = {
35
36
  'function/ieslab/evaluation': IESLabOptEvaluationResult,
36
37
  }
37
38
 
39
+ DS_LAB_RESULT = {
40
+ 'function/ieslab/evaluation': DSLabResult
41
+ }
42
+
38
43
  RESULT_DB = {
39
44
  'function/CloudPSS/emtp': EMTResult,
40
45
  'function/CloudPSS/emtps': EMTResult,
@@ -240,7 +245,16 @@ class HttpRunner(Runner[T]):
240
245
  if self.__taskId is None:
241
246
  return False
242
247
  return self.result.status() # type: ignore
248
+
249
+ class DSLabRunner(Runner[T]):
250
+ def __init__(self, job, simulationId, **kwargs):
251
+ self.simulationId = simulationId
252
+ self.job = job
253
+ result = DS_LAB_RESULT.get(job.get('rid', ''), DSLabResult)
254
+ self.result: T = result(self.simulationId, **kwargs)
243
255
 
256
+ def status(self):
257
+ return self.result.status()
244
258
 
245
259
  class HttpOPTRunner(Runner[T]):
246
260
 
@@ -29,7 +29,7 @@ def request(method, uri, baseUrl=None, params={}, token=None, **kwargs):
29
29
  del kwargs['xToken']
30
30
 
31
31
  r = requests.request(method, url, params=params, headers=headers, **kwargs)
32
-
32
+
33
33
  if (uri.startswith('graphql')):
34
34
  if 'X-Cloudpss-Version' not in r.headers:
35
35
  raise Exception(
cloudpss/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = '4.5.1'
1
+ __version__ = '4.5.1-alpha.2'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cloudpss
3
- Version: 4.5.1
3
+ Version: 4.5.1a2
4
4
  Summary: cloudpss sdk
5
5
  Home-page: https://www.cloudpss.net
6
6
  Author: cloudpss
@@ -1,6 +1,6 @@
1
- cloudpss/__init__.py,sha256=1RNmUBhoxYUutZiTS-XJ9yBoNGGh8Mpt1uY6ETlSBDc,825
1
+ cloudpss/__init__.py,sha256=xnA-UjehYOzH6KV7vOXHwdbGEiw6g_OPKzrbZA9Fuc8,858
2
2
  cloudpss/verify.py,sha256=KF4Gd59DGvCyIEkRD7rNnekWw22XxJpi3DW6keb6j4c,1498
3
- cloudpss/version.py,sha256=bhnO42YyuLBZoAN5yif-lNoSFC--RRTJ9r5fQdDewoY,22
3
+ cloudpss/version.py,sha256=0OtZSPuLQXAaAxIqG2XzbOJ2-vy329E4WlxhrvhGIAY,30
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=Bn2BEERw1J8YarFauTzVrGJK7nmaoMsdlrFUqiHRth4,3897
@@ -13,6 +13,13 @@ cloudpss/asyncio/model/topology.py,sha256=jouPmteTxpTV6mFzUGy7CiSEnBrbtCu-1shimJ
13
13
  cloudpss/asyncio/utils/AsyncIterable.py,sha256=AIWYrTnmjsIfOowE3asZlexdHNhpK2gm7aucfyyVoQw,781
14
14
  cloudpss/asyncio/utils/__init__.py,sha256=F-rCvgRAGcV-fFO7o-dsXwooyhcVpElWoBEQM67kO7c,84
15
15
  cloudpss/asyncio/utils/httpAsyncRequest.py,sha256=KIck-3uQwGcHMIJ6632_Zo0syc4GnNG2EoUXmQh54ck,2692
16
+ cloudpss/dslab/__init__.py,sha256=UdLDA9OArvLndHtumYAMMHdr5h8S6DrZCYkXIi2Mb4Y,45
17
+ cloudpss/dslab/dataManageModel.py,sha256=7sTRpAGnuSNtFsUb-VEDp5XzOlAZvidypkniHX32wLY,11527
18
+ cloudpss/dslab/dslab.py,sha256=u5xwlsuQiVIEAAuHW6kQ5MFiRjR7Iaxoxd724lHW-gk,8696
19
+ cloudpss/dslab/financialAnalysisModel.py,sha256=t9cZ03yWvLN5ojVeLp-UGgFBIFVU5wbnn5E0UHZA0ws,5062
20
+ cloudpss/dslab/files/__init__.py,sha256=l2g0VadtTiMW39zwCwHPHUC01Kbklb_nFUPVeQ16FwM,58
21
+ cloudpss/dslab/files/curveData.py,sha256=GU_DTTKjVn_ln9Hx0q9CFgfmNtokZi7b4DYSzGeP5dk,4291778
22
+ cloudpss/dslab/files/files.py,sha256=vS0VhAh1lb8oFw51E2rAsb0WpmqM9F9IprxNCAPqH1s,934
16
23
  cloudpss/function/__init__.py,sha256=TNzChB-gQF6oB62F423evpUlgcp6s03D4pKKs89Lz4Q,1629
17
24
  cloudpss/function/function.py,sha256=llomkfnTmKMiFJYJ2mKnmAEoIjTNVCnjCUUyiJMOV1s,29
18
25
  cloudpss/function/functionExecution.py,sha256=4SR2qJbXntOjjSOrUmbjvBqED1nJyhVpI6WZKUFs1lQ,15761
@@ -24,18 +31,20 @@ cloudpss/ieslab/IESLabPlan.py,sha256=rEf1W2pT_J3C8-TFFHVm8Llli9ySSXbBeRpd6Yz9Glk
24
31
  cloudpss/ieslab/IESLabSimulation.py,sha256=-EJFkhklN9ao-nbfk7Lz6JCHboFCSDcn5R2jr3_Z7_A,4046
25
32
  cloudpss/ieslab/PlanModel.py,sha256=WHvXWNFgi7fO_M-sL9empRgHR5riCj1jeThBRT-oqEc,14088
26
33
  cloudpss/ieslab/__init__.py,sha256=gr1rXYw9vIAGOe60eg7LyMHP7QDXvNf4dJ5GTR_kj1Y,232
34
+ cloudpss/job/TemplateCompiler.py,sha256=MuJDTQ54wRo5bGSvBJBJjXJ7u463dwpRkaLwIwm_hLE,9936
35
+ cloudpss/job/TemplateManager.py,sha256=PYFWcnJMlvXsoqKh_GMMti72o0ajLWYssrOGUtknMwY,1099
27
36
  cloudpss/job/__init__.py,sha256=3UIFZYjJTzuckM61o8kim1c3PWt2SSHTL72jrGu5IzI,51
28
- cloudpss/job/job.py,sha256=ciphBMfRkIK1bvZ1zrbuISojXiixoNwQRlCzfEVWOa8,8240
37
+ cloudpss/job/job.py,sha256=kI8Yptc19q8A2UocxfG-GF25hhoKPpZTXndIJjQJJAY,8253
29
38
  cloudpss/job/jobReceiver.py,sha256=PNYxcN33LiXZVyc4tzhPlpWxKnyWO_ElKjJ9wsxsroI,925
30
- cloudpss/job/messageStreamReceiver.py,sha256=VvrDewFjiZxMHZJUoMh2_CYC1bmcztY1TrNx0WSsQIU,4133
31
- cloudpss/job/messageStreamSender.py,sha256=MCgMP6Epgu2md_rhZhHeGv8q8sObF_wHfL3WpANoreM,2371
39
+ cloudpss/job/messageStreamReceiver.py,sha256=JtS-p0ka8eVVyG4I00G_A4Vu_uI-l3TfBrX_Fhojxow,5269
40
+ cloudpss/job/messageStreamSender.py,sha256=QQO6XtoZNLiUJXeSZmim-XFDBrb9i-JAjMPHKXcscZA,2365
32
41
  cloudpss/job/result/EMTResult.py,sha256=xC9ws7bH-2nhpF8lqzZLqcOL-IcYS-JeBboEHgX96wk,6941
33
42
  cloudpss/job/result/IESLabSimulationResult.py,sha256=a47Ic1vvfHTK_vEokOZxJBnQReqYOWux_aePPic_Hrs,84
34
43
  cloudpss/job/result/IESLabTypicalDayResult.py,sha256=0u8FrxDUpujJvCWRk4jRtHzw-WHmvPR38nKj6-iccw4,7827
35
44
  cloudpss/job/result/IESResult.py,sha256=TLMTlDuvTUWnsJSUxXt8XTlXZGaVPmxZwia_JOcej88,3852
36
45
  cloudpss/job/result/PowerFlowResult.py,sha256=KoImlmsEEZyMriuoE_MSHBQu4k9MSDUuZ8E2SRLndWE,2097
37
46
  cloudpss/job/result/__init__.py,sha256=irh05EkRXewQz_khP5Da0h_GoNBE5Biyx_ycoXnI7Is,1502
38
- cloudpss/job/result/result.py,sha256=kNAQ0X605pKRVFZ0FGULZn177zoPCrMeXLE7eCAVjFA,4282
47
+ cloudpss/job/result/result.py,sha256=mWt4HyrI0y-l97Q8tcAiMyW9lm0timgxaRerLXPnefk,4280
39
48
  cloudpss/model/__init__.py,sha256=SNq-bfwcQtDHtTNBYppfUEs8wkjfrQfGeywx7igmvOs,151
40
49
  cloudpss/model/jobDefinitions.py,sha256=uuTwpqStlg3YDmfxbU2PVi_Tf18opa0kYLCMGaOP-qA,3749
41
50
  cloudpss/model/model.py,sha256=gYMBf_jspoRSwb0QgARvJGXVtDlaQvQjp_B9QMYvXwE,27170
@@ -47,24 +56,25 @@ cloudpss/model/implements/diagram.py,sha256=25g40EhqcFsqNeTQYEG2mqxV_oG0B0kb3xT_
47
56
  cloudpss/model/implements/implement.py,sha256=Uld96tjXVDbVUNV8xscyy_nZWLHr3iP2DqA6S3p-XJE,954
48
57
  cloudpss/project/__init__.py,sha256=fpskY-cJGmMcTg1naVzNPtJaRG1xmSc2CFjDTin64Cw,51
49
58
  cloudpss/project/project.py,sha256=uFhOnM8ngo1_ZYz2uArtORKZquYNdOIVLXU_q1MDFI4,17698
59
+ cloudpss/runner/DSLabResult.py,sha256=xJqKA3e1KSXQmLDe9_T6fG1exdE9j7EjfIfvBMmqiJ8,3422
50
60
  cloudpss/runner/IESLabEvaluationResult.py,sha256=rsKbSJ9zsgyMYP-oIWsJlSXGxs7Y-44rj45Fn6NJXMA,5998
51
61
  cloudpss/runner/IESLabPlanResult.py,sha256=pbUq2YCPBE01Sy9e9X5Wp8OZ4PJhUkUb-28b5CEzqxc,8874
52
62
  cloudpss/runner/IESLabTypicalDayResult.py,sha256=-9D0TRsXEYJIgGKYFPZHjR7URyPypN7jfPc1lohFJ0c,8175
53
63
  cloudpss/runner/MessageStreamReceiver.py,sha256=dT-rKslQbRt3bMTGXupa1YrocHl2zTWOCHlsXcbgfhs,2812
54
64
  cloudpss/runner/__init__.py,sha256=FxiYYmssbZgRjieySzi43yPiWEF6eNos2UsoFQeD2H8,341
55
65
  cloudpss/runner/receiver.py,sha256=QU0RsbCt0EK7sCLHzfj8_QQsuPNfqXxpZi5JKm6roxA,4162
56
- cloudpss/runner/result.py,sha256=GFpd7848gsLRuzhVcWbCwmAjR84Lhik_3pNCjOV8VOY,13291
57
- cloudpss/runner/runner.py,sha256=pfidTchkoVTFUB9pUmZn9ulVDag9DLGo0pIxsD-nRu0,9168
66
+ cloudpss/runner/result.py,sha256=Q8RcfUnvilxPo6yvtjH6dXePaCqrBjQCljur3rem2pU,13290
67
+ cloudpss/runner/runner.py,sha256=DPMiG_M-baWUAX7o9vL7p_Zr-r9nnTky5OYjig_yenU,9613
58
68
  cloudpss/runner/storage.py,sha256=zFET_zwPIOF2Cnh9sgFiS0HFxV1OmVsU34bGUQ6PpkA,4162
59
69
  cloudpss/runner/transform.py,sha256=krOgTZiJSJAb5QSwerAqlbC4Ma0PKi__0WOZlAxw4O8,11613
60
70
  cloudpss/utils/IO.py,sha256=sm6p53AFgE1b56Bh0qt_E2TFP5tLr0WQDzIVRlsNgFA,5321
61
71
  cloudpss/utils/__init__.py,sha256=jWVHSOqJQWU0fpg2UbWSEQoLCb2Uys-vH5Uqkb0ihNA,326
62
72
  cloudpss/utils/dataEncoder.py,sha256=5PUPb844eOGgFnYrMM8bdjdKH_MZz0lk-67uo8TvwEo,885
63
73
  cloudpss/utils/graphqlUtil.py,sha256=zGEhRZvy5JMipFKFxjDmbc-HQP3aPZ5noDwi-RTXWSk,280
64
- cloudpss/utils/httprequests.py,sha256=ZcCwS2KM7y2TwWTo0YRLNJVozih4h0F5ignn-CeBREU,1846
74
+ cloudpss/utils/httprequests.py,sha256=KYE8iIqaBEN6gTdxFgUyvdKf3kbSizxxgmNN8_1BQjQ,1850
65
75
  cloudpss/utils/matlab.py,sha256=SLwVt790BjklJK2XNELt9R2n_1ej9Y8QsTIdFkKXLWE,795
66
76
  cloudpss/utils/yamlLoader.py,sha256=bv_vPDK_e0n_vZ5FwpDJ_NJWqMAwfU3AbhkvQIxPCy4,2677
67
- cloudpss-4.5.1.dist-info/METADATA,sha256=LE9nga6LMgH0zl1EsB5KJuN9B8F0sMuw0Qhx2SUhC5A,2401
68
- cloudpss-4.5.1.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
69
- cloudpss-4.5.1.dist-info/top_level.txt,sha256=wS9qPU4-aWM9ouzMOx34Nlq-GkdQKpr9vBskwut1BD8,9
70
- cloudpss-4.5.1.dist-info/RECORD,,
77
+ cloudpss-4.5.1a2.dist-info/METADATA,sha256=RFRgpfFLYphKIXyV03BWk06DMy109DiiHj1KEPyIaBI,2403
78
+ cloudpss-4.5.1a2.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
79
+ cloudpss-4.5.1a2.dist-info/top_level.txt,sha256=wS9qPU4-aWM9ouzMOx34Nlq-GkdQKpr9vBskwut1BD8,9
80
+ cloudpss-4.5.1a2.dist-info/RECORD,,