cloudpss 4.1.1b7__py3-none-any.whl → 4.1.1b9__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.
Files changed (46) hide show
  1. cloudpss/asyncio/__init__.py +8 -0
  2. cloudpss/asyncio/job/__init__.py +5 -0
  3. cloudpss/asyncio/job/job.py +116 -0
  4. cloudpss/asyncio/job/messageStreamReceiver.py +121 -0
  5. cloudpss/asyncio/job/messageStreamSender.py +45 -0
  6. cloudpss/asyncio/model/__init__.py +5 -0
  7. cloudpss/asyncio/model/model.py +257 -0
  8. cloudpss/asyncio/model/revision.py +41 -0
  9. cloudpss/asyncio/model/topology.py +34 -0
  10. cloudpss/asyncio/utils/__init__.py +6 -0
  11. cloudpss/{utils → asyncio/utils}/httpAsyncRequest.py +2 -2
  12. cloudpss/dslab/dataManageModel.py +24 -14
  13. cloudpss/dslab/dslab.py +115 -21
  14. cloudpss/dslab/files/curveData.py +35066 -35042
  15. cloudpss/dslab/files/files.py +21 -13
  16. cloudpss/function/functionExecution.py +10 -0
  17. cloudpss/ieslab/DataManageModel.py +65 -16
  18. cloudpss/ieslab/IESLabPlan.py +78 -0
  19. cloudpss/ieslab/IESLabSimulation.py +59 -32
  20. cloudpss/ieslab/PlanModel.py +11 -7
  21. cloudpss/job/job.py +119 -132
  22. cloudpss/job/jobReceiver.py +7 -1
  23. cloudpss/job/messageStreamReceiver.py +42 -99
  24. cloudpss/job/messageStreamSender.py +5 -42
  25. cloudpss/job/view/EMTView.py +9 -11
  26. cloudpss/job/view/IESLabTypicalDayView.py +114 -5
  27. cloudpss/job/view/view.py +36 -7
  28. cloudpss/model/implements/diagram.py +113 -0
  29. cloudpss/model/jobDefinitions.py +6 -6
  30. cloudpss/model/model.py +181 -193
  31. cloudpss/model/revision.py +29 -34
  32. cloudpss/model/topology.py +12 -14
  33. cloudpss/runner/MessageStreamReceiver.py +2 -0
  34. cloudpss/utils/httprequests.py +6 -5
  35. cloudpss/version.py +1 -1
  36. {cloudpss-4.1.1b7.dist-info → cloudpss-4.1.1b9.dist-info}/METADATA +1 -1
  37. cloudpss-4.1.1b9.dist-info/RECORD +77 -0
  38. cloudpss/dslab/DSLabFinancialResult.py +0 -96
  39. cloudpss/job/jobMachine.py +0 -11
  40. cloudpss/job/jobPolicy.py +0 -129
  41. cloudpss/job/jobQueue.py +0 -14
  42. cloudpss/job/jobTres.py +0 -6
  43. cloudpss-4.1.1b7.dist-info/RECORD +0 -72
  44. /cloudpss/{utils → asyncio/utils}/AsyncIterable.py +0 -0
  45. {cloudpss-4.1.1b7.dist-info → cloudpss-4.1.1b9.dist-info}/WHEEL +0 -0
  46. {cloudpss-4.1.1b7.dist-info → cloudpss-4.1.1b9.dist-info}/top_level.txt +0 -0
@@ -1,12 +1,11 @@
1
- import asyncio
2
- from cloudpss.utils.httpAsyncRequest import graphql_fetch
1
+ from cloudpss.job.job import Job
3
2
  from .topology import ModelTopology
4
3
  from .implements import ModelImplement
5
- from ..utils import request, graphql_request
6
- from ..runner import Runner
4
+ from ..utils import graphql_request
7
5
 
8
6
 
9
7
  class ModelRevision(object):
8
+
10
9
  """
11
10
  表示一个项目的版本数据
12
11
 
@@ -23,6 +22,12 @@ class ModelRevision(object):
23
22
 
24
23
 
25
24
  """
25
+
26
+ __createModelRevisionQuery = """
27
+ mutation($a:CreateModelRevisionInput!){createModelRevision(input:$a){
28
+ hash
29
+ }}
30
+ """
26
31
 
27
32
  def __init__(self, revision: dict = {}):
28
33
  """
@@ -56,21 +61,27 @@ class ModelRevision(object):
56
61
  """
57
62
 
58
63
  return self.implements
59
-
60
- async def run(self, job, config, name=None, rid='', policy=None, **kwargs):
64
+
65
+ def run(self, job, config, name=None, policy=None,stop_on_entry=None,rid=None, **kwargs):
61
66
  """
62
- 运行某个指定版本的项目
67
+ 运行当前版本
63
68
 
64
69
  :params job: 调用仿真时使用的计算方案,为空时使用项目的第一个计算方案
65
70
  :params config: 调用仿真时使用的参数方案,为空时使用项目的第一个参数方案
66
71
  :params name: 任务名称,为空时使用项目的参数方案名称和计算方案名称
67
72
  :params rid: 项目rid,可为空
68
73
 
69
- :return: 返回一个ModelRevision
74
+ :return: 返回一个运行实例
70
75
 
71
76
  >>> revision.run(revision,job,config,'')
72
77
  """
73
- return await ModelRevision.createAsync(self)
78
+ revision= ModelRevision.create(self)
79
+ if stop_on_entry is not None:
80
+ job['args']['stop_on_entry'] = stop_on_entry
81
+ return Job.create(
82
+ revision["hash"], job, config, name, rid, policy, **kwargs
83
+ )
84
+
74
85
 
75
86
  @staticmethod
76
87
  def create(revision, parentHash=None):
@@ -85,36 +96,19 @@ class ModelRevision(object):
85
96
  {hash:'4043acbddb9ce0c6174be65573c0380415bc48186c74a459f88865313743230c'}
86
97
  """
87
98
 
88
- return asyncio.run(ModelRevision.createAsync(revision, parentHash))
89
-
90
- @staticmethod
91
- async def createAsync(revision, parentHash=None):
92
- """
93
- 创建一个新版本
94
-
95
- :params: revision 版本数据
96
-
97
- :return: 项目版本hash
98
-
99
- >>> ModelRevision.create(model.revision)
100
- {hash:'4043acbddb9ce0c6174be65573c0380415bc48186c74a459f88865313743230c'}
101
- """
102
-
103
- query = """
104
- mutation($a:CreateModelRevisionInput!){createModelRevision(input:$a){
105
- hash
106
- }}
107
- """
108
99
  r = revision.toJSON()
109
- del r['hash']
100
+ if 'hash' in r:
101
+ del r['hash']
110
102
  variables = {'a': {**r, 'parent': parentHash}}
111
-
112
- r = await graphql_fetch(query, variables)
103
+ r = graphql_request(ModelRevision.__createModelRevisionQuery, variables)
113
104
  if 'errors' in r:
114
105
  raise Exception(r['errors'])
106
+
115
107
  return r['data']['createModelRevision']
108
+
109
+
116
110
 
117
- async def fetchTopology(self, implementType, config, maximumDepth):
111
+ def fetchTopology(self, implementType, config, maximumDepth):
118
112
  """
119
113
  获取当前项目版本的拓扑数据
120
114
 
@@ -131,6 +125,7 @@ class ModelRevision(object):
131
125
  """
132
126
 
133
127
  if self.hash is not None:
134
- return await ModelTopology.fetch(self.hash, implementType, config,
128
+ return ModelTopology.fetch(self.hash, implementType, config,
135
129
  maximumDepth)
136
130
  return None
131
+
@@ -1,7 +1,6 @@
1
1
  import asyncio
2
2
  import json
3
3
 
4
- from cloudpss.utils.httpAsyncRequest import graphql_fetch
5
4
  from ..utils import request, graphql_request
6
5
 
7
6
 
@@ -19,6 +18,13 @@ class ModelTopology():
19
18
 
20
19
 
21
20
  """
21
+ __modelTopologyQuery = """
22
+ query($a:ModelTopologyInput!){
23
+ modelTopology(input:$a){
24
+ components
25
+ mappings
26
+ }}
27
+ """
22
28
  __All__ = ['ModelTopology']
23
29
 
24
30
  def __init__(self, topology: dict = {}):
@@ -48,10 +54,6 @@ class ModelTopology():
48
54
 
49
55
  @staticmethod
50
56
  def fetch(hash, implementType, config, maximumDepth=None):
51
- return asyncio.run(ModelTopology.fetchAsync(hash, implementType, config, maximumDepth))
52
-
53
- @staticmethod
54
- async def fetchAsync(hash, implementType, config, maximumDepth=None):
55
57
  """
56
58
  获取拓扑
57
59
 
@@ -66,14 +68,6 @@ class ModelTopology():
66
68
 
67
69
  """
68
70
  args = {} if config is None else config['args']
69
- query = """
70
- query($a:ModelTopologyInput!){
71
- modelTopology(input:$a){
72
- components
73
- mappings
74
- }}
75
- """
76
-
77
71
  variables = {
78
72
  "a": {
79
73
  'hash': hash,
@@ -82,8 +76,12 @@ class ModelTopology():
82
76
  'maximumDepth': maximumDepth
83
77
  }
84
78
  }
85
- data = await graphql_fetch(query, variables)
79
+ data = graphql_request(ModelTopology.__modelTopologyQuery, variables)
86
80
  if 'errors' in data:
87
81
  raise Exception(data['errors'][0]['message'])
88
82
 
89
83
  return ModelTopology(data['data']['modelTopology'])
84
+
85
+
86
+
87
+
@@ -157,6 +157,8 @@ class MessageStreamReceiver(object):
157
157
  if "when" not in msg:
158
158
  msg['when']= datetime.datetime.now()
159
159
  self.db.storeMessage(msg)
160
+ if(msg['type']=='terminate'):
161
+ self.close(self.ws)
160
162
 
161
163
  def on_error(self, ws, error):
162
164
  msg = {
@@ -33,12 +33,13 @@ def request(method, uri, baseUrl=None, params={}, token=None, **kwargs):
33
33
  r.headers['X-Cloudpss-Version'] +
34
34
  '.X.X)不兼容,请更换服务器地址或更换SDK版本(pip 使用 pip install -U cloudpss 命令更新, conda 使用 conda update cloudpss 命令更新)。')
35
35
 
36
- if r.ok:
37
- return r
38
- logging.debug(r.text)
39
- if r.text =="":
40
- r.raise_for_status()
36
+ # if r.ok:
37
+ # return r
38
+ # logging.debug(r.text)
39
+ # if r.text =="":
40
+ r.raise_for_status()
41
41
  if "statusCode" in r.text:
42
42
  t = json.loads(r.text)
43
43
  raise Exception(str(t['statusCode']) + " "+t['message'])
44
+ return r
44
45
 
cloudpss/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = '4.1.1-beta.7'
1
+ __version__ = '4.1.1-beta.9'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cloudpss
3
- Version: 4.1.1b7
3
+ Version: 4.1.1b9
4
4
  Summary: cloudpss sdk
5
5
  Home-page: https://www.cloudpss.net
6
6
  Author: cloudpss
@@ -0,0 +1,77 @@
1
+ cloudpss/__init__.py,sha256=EkdgEdD_kYmiXM8cGHX5sZwBnyo-cbNYx70qpUsThgI,835
2
+ cloudpss/verify.py,sha256=KF4Gd59DGvCyIEkRD7rNnekWw22XxJpi3DW6keb6j4c,1498
3
+ cloudpss/version.py,sha256=fG8qYs4NCFq_sO9Emm5U6GtkXwVKnIaGvwQWkCb68X4,29
4
+ cloudpss/asyncio/__init__.py,sha256=CJGopQl_vz3z3fJsK7NjMX5uzkzfrJrbqKVhyYqlYWc,198
5
+ cloudpss/asyncio/job/__init__.py,sha256=3UIFZYjJTzuckM61o8kim1c3PWt2SSHTL72jrGu5IzI,51
6
+ cloudpss/asyncio/job/job.py,sha256=ExA-8JVOWWW5neVvNazPk4i3Z-q8xqYBL4qXU1m3rgM,3891
7
+ cloudpss/asyncio/job/messageStreamReceiver.py,sha256=LIEBmum2IRgeME8dO460B7MyF9esQIFFAo7bSrhZI5o,3864
8
+ cloudpss/asyncio/job/messageStreamSender.py,sha256=rrSWnvveG6cP0hmGGKOwSvJsXWhVE0k1u1Z2VlPZQGo,1594
9
+ cloudpss/asyncio/model/__init__.py,sha256=SNq-bfwcQtDHtTNBYppfUEs8wkjfrQfGeywx7igmvOs,151
10
+ cloudpss/asyncio/model/model.py,sha256=vso4en-pnV2kpzNiQ9d-LyqHyM0H6MUbC5vFdvzi_aw,8627
11
+ cloudpss/asyncio/model/revision.py,sha256=pcKNErIzyftq4_1CCQxArx6OeCuNMGInJHH97EBQ1lA,1568
12
+ cloudpss/asyncio/model/topology.py,sha256=jouPmteTxpTV6mFzUGy7CiSEnBrbtCu-1shimJvC2FA,1192
13
+ cloudpss/asyncio/utils/AsyncIterable.py,sha256=AIWYrTnmjsIfOowE3asZlexdHNhpK2gm7aucfyyVoQw,781
14
+ cloudpss/asyncio/utils/__init__.py,sha256=F-rCvgRAGcV-fFO7o-dsXwooyhcVpElWoBEQM67kO7c,84
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=K-tRlNE9use-i1MzwgBAdVr0w4i03WHHEzjFOme095Q,13511
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
23
+ cloudpss/function/__init__.py,sha256=TNzChB-gQF6oB62F423evpUlgcp6s03D4pKKs89Lz4Q,1629
24
+ cloudpss/function/function.py,sha256=llomkfnTmKMiFJYJ2mKnmAEoIjTNVCnjCUUyiJMOV1s,29
25
+ cloudpss/function/functionExecution.py,sha256=o5S6EK6v2lXH4CY18dl2xSNgAYywpAGAToEIPk-q6Ms,14894
26
+ cloudpss/function/job.py,sha256=LdzaTyjvBcMZIyLstSZnt79d2eREljx2HnNoilDp03A,13162
27
+ cloudpss/ieslab/DataManageModel.py,sha256=G4FzLcEE5st9j6v679q3NxtcEfgYk2qUJt_OTSEc_b0,21921
28
+ cloudpss/ieslab/EvaluationModel.py,sha256=SD7VB81wZnebGQWpx-eTQMQxe6ekFUFycQxz6RyYwOI,6721
29
+ cloudpss/ieslab/IESLabPlan.py,sha256=fL7uiVJNOkx5HYu6XX0HPrtrOCs455ff7NE1UgJ3vG4,8329
30
+ cloudpss/ieslab/IESLabSimulation.py,sha256=-EJFkhklN9ao-nbfk7Lz6JCHboFCSDcn5R2jr3_Z7_A,4046
31
+ cloudpss/ieslab/PlanModel.py,sha256=Z_7pME2GHhBMYk9bXu8hKjP_NpM_SUAUr3-I2o_7DPo,4883
32
+ cloudpss/ieslab/__init__.py,sha256=kiyUaGRgtwqs0EI2dBBqLVK5V65u1PcY7YTFJX1T0yw,186
33
+ cloudpss/job/__init__.py,sha256=3UIFZYjJTzuckM61o8kim1c3PWt2SSHTL72jrGu5IzI,51
34
+ cloudpss/job/job.py,sha256=lBOLbks-5Du8PPYNl2vqvZyufKdrsKZgXfjKKixLONA,7930
35
+ cloudpss/job/jobReceiver.py,sha256=b52Q7eQjVXi1C8xP2koix6N0GdQy_ar0YJ33KyPfsSA,919
36
+ cloudpss/job/messageStreamReceiver.py,sha256=VvrDewFjiZxMHZJUoMh2_CYC1bmcztY1TrNx0WSsQIU,4133
37
+ cloudpss/job/messageStreamSender.py,sha256=MCgMP6Epgu2md_rhZhHeGv8q8sObF_wHfL3WpANoreM,2371
38
+ cloudpss/job/view/EMTView.py,sha256=x7vNedo-RyH8Ukm5YaQSec6BPcskqopwGGyVDMVxV8U,6933
39
+ cloudpss/job/view/IESLabSimulationView.py,sha256=_hD-fdEwC6U8hQYbXliNMEii0WxiteglQZuLOSQmMOM,76
40
+ cloudpss/job/view/IESLabTypicalDayView.py,sha256=SosMQ4D0Rom0FgPjYr5s-PPMpz49iyVNoK0K7iEyxrg,7817
41
+ cloudpss/job/view/IESView.py,sha256=yaSczWTjkEV6d6TPLkWjCq0ldN0JO-3sVurAnQR89Mo,3842
42
+ cloudpss/job/view/PowerFlowView.py,sha256=xg-KX37ENxYtEV7CRUszXfsyDmTsOKCh7agSg5K6EWQ,2089
43
+ cloudpss/job/view/__init__.py,sha256=j_X6aFeY-wa6_0r1EixE0rrvGz_67m4fIqOLmUbkxqY,1466
44
+ cloudpss/job/view/view.py,sha256=JEv3uWw2DTKNmtdvviztH4Y5Hp2ucFXPNrGOkFv8byU,4280
45
+ cloudpss/model/__init__.py,sha256=SNq-bfwcQtDHtTNBYppfUEs8wkjfrQfGeywx7igmvOs,151
46
+ cloudpss/model/jobDefinitions.py,sha256=uuTwpqStlg3YDmfxbU2PVi_Tf18opa0kYLCMGaOP-qA,3749
47
+ cloudpss/model/model.py,sha256=k4TMC-l2XgXBxUhNB3aD2bCJS6RG7LWWNVypCSC0JcA,25540
48
+ cloudpss/model/revision.py,sha256=KXJ2SEQwqqrOlhXD9F4bvxjKJKmu3dqIICBKUsi0klQ,3966
49
+ cloudpss/model/topology.py,sha256=nTFq76CPmbkTgglI2Z-SlaJpymRkCXwehD_qE2K7f4I,2313
50
+ cloudpss/model/implements/__init__.py,sha256=88L_wF9SSzxsbtqwStWIPH4LxaKq7TVcssHQ62YBnls,67
51
+ cloudpss/model/implements/component.py,sha256=uNSpkZKChdXLiO40Ev4P3oQ1di2Hu4YjcBOb0I8Bf0c,734
52
+ cloudpss/model/implements/diagram.py,sha256=25g40EhqcFsqNeTQYEG2mqxV_oG0B0kb3xT_NvN7ia8,4582
53
+ cloudpss/model/implements/implement.py,sha256=Uld96tjXVDbVUNV8xscyy_nZWLHr3iP2DqA6S3p-XJE,954
54
+ cloudpss/project/__init__.py,sha256=fpskY-cJGmMcTg1naVzNPtJaRG1xmSc2CFjDTin64Cw,51
55
+ cloudpss/project/project.py,sha256=uFhOnM8ngo1_ZYz2uArtORKZquYNdOIVLXU_q1MDFI4,17698
56
+ cloudpss/runner/DSLabResult.py,sha256=xJqKA3e1KSXQmLDe9_T6fG1exdE9j7EjfIfvBMmqiJ8,3422
57
+ cloudpss/runner/IESLabEvaluationResult.py,sha256=uFNLiN5kzlzSGlLIq3ybuRwB-ufYytflVrXV5g7voOU,5841
58
+ cloudpss/runner/IESLabPlanResult.py,sha256=dCyTbMtITy9XDjE42knrpJrvaH7dvFgfQMZbx9hybRs,6862
59
+ cloudpss/runner/IESLabTypicalDayResult.py,sha256=3egAzmv32sr4wKaVgLxsM75ScSb08F4-iLEbuPkoi_c,8001
60
+ cloudpss/runner/MessageStreamReceiver.py,sha256=w3Ur7rB7V4LJKBF28lra6EFwvCvJ3A75PRTCgnT6ZBo,5953
61
+ cloudpss/runner/__init__.py,sha256=FxiYYmssbZgRjieySzi43yPiWEF6eNos2UsoFQeD2H8,341
62
+ cloudpss/runner/receiver.py,sha256=QU0RsbCt0EK7sCLHzfj8_QQsuPNfqXxpZi5JKm6roxA,4162
63
+ cloudpss/runner/result.py,sha256=MkoTQly7FjKj9mde3bnv4vBDfGJ2U4eK-HhxxdwmemE,13125
64
+ cloudpss/runner/runner.py,sha256=DQOvHkdaI7lqcDdW2eEBY4UZPsgg__6vYFT8bUtm8Js,7820
65
+ cloudpss/runner/storage.py,sha256=zFET_zwPIOF2Cnh9sgFiS0HFxV1OmVsU34bGUQ6PpkA,4162
66
+ cloudpss/runner/transform.py,sha256=krOgTZiJSJAb5QSwerAqlbC4Ma0PKi__0WOZlAxw4O8,11613
67
+ cloudpss/utils/IO.py,sha256=Uh1NOlBn15Jl5_aWS2QRO2-QsKlFT9o8DPtP8-8Z2PA,5314
68
+ cloudpss/utils/__init__.py,sha256=jWVHSOqJQWU0fpg2UbWSEQoLCb2Uys-vH5Uqkb0ihNA,326
69
+ cloudpss/utils/dataEncoder.py,sha256=5PUPb844eOGgFnYrMM8bdjdKH_MZz0lk-67uo8TvwEo,885
70
+ cloudpss/utils/graphqlUtil.py,sha256=swl6XT1UmUQHdHjMWw3M0i8meEmVKNQvX0SHsbgg8TU,255
71
+ cloudpss/utils/httprequests.py,sha256=dNKq7Zi89OhP_tsf7B_uAYK8CpO_RJ8NusHoTx-tSY0,1750
72
+ cloudpss/utils/matlab.py,sha256=SLwVt790BjklJK2XNELt9R2n_1ej9Y8QsTIdFkKXLWE,795
73
+ cloudpss/utils/yamlLoader.py,sha256=bv_vPDK_e0n_vZ5FwpDJ_NJWqMAwfU3AbhkvQIxPCy4,2677
74
+ cloudpss-4.1.1b9.dist-info/METADATA,sha256=swtqIRBS9T-dra4Mf2gYaQek4QQq6AnWHEKWzBfgahI,2393
75
+ cloudpss-4.1.1b9.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
76
+ cloudpss-4.1.1b9.dist-info/top_level.txt,sha256=wS9qPU4-aWM9ouzMOx34Nlq-GkdQKpr9vBskwut1BD8,9
77
+ cloudpss-4.1.1b9.dist-info/RECORD,,
@@ -1,96 +0,0 @@
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('GET',
39
- url,
40
- params={
41
- "simu": self.simulationId,
42
- "planId": planID,
43
- "time": 0
44
- })
45
- data = json.loads(r.text)
46
- return data
47
-
48
- # def status(self):
49
- # '''
50
- # 获取运行状态
51
-
52
- # :return: boolean 类型
53
- # '''
54
- # result = None
55
- # if self.cmdType is None:
56
- # result = self.GetOverviewResult()
57
- # if result is None:
58
- # return False
59
- # return True
60
-
61
- def GetFinancialResult(self, resultType):
62
- '''
63
- 获取planID对应的优化方案下resultType财务评估结果
64
- :param planID int 类型,表示优化方案的ID,数值位于0~优化方案数量之间
65
- :param resultType enum 类型,表示财务评价结果表格的类型
66
-
67
- :return: dict 类型,为源数据的引用,代表方案对应的财务评价基础参数信息
68
-
69
- '''
70
- assert (resultType in self._kindNameMap), "数据类型不存在"
71
- kind = self._kindNameMap.get(resultType, resultType)
72
- url = f'{self._baseUri}{kind}'
73
- list = self._fetchItemData(url, self.planId)
74
- dict_result = dict()
75
- for val in list:
76
- for k, v in val.items():
77
- dict_result[k] = v
78
- return dict_result['data']
79
-
80
- def GetOverviewResult(self):
81
- '''
82
- 获取当前结果类对应的概览结果
83
-
84
- :return: array类型,代表该方案对应的概览结果
85
- '''
86
- r = request('GET',
87
- "api/dslab/rest/getOverviewResult",
88
- params={
89
- "simu": self.simulationId,
90
- "planId": self.planId,
91
- "time": self.timeId
92
- })
93
- result = json.loads(r.text)
94
- if len(result) > 0:
95
- return result[0]['data']
96
- return None
@@ -1,11 +0,0 @@
1
- from cloudpss.job.jobTres import JobTres
2
-
3
-
4
- class JobMachine(object):
5
- '''job machine'''
6
-
7
- def __init__(self, id, name, tres, valid=None):
8
- self.id = id
9
- self.name = name
10
- self.tres = JobTres(**tres) # type: ignore
11
- self.valid = valid
cloudpss/job/jobPolicy.py DELETED
@@ -1,129 +0,0 @@
1
- from cloudpss.job.jobQueue import JobQueue
2
- from cloudpss.job.jobTres import JobTres
3
- from cloudpss.utils.graphqlUtil import graphql_request
4
-
5
-
6
- class JobPolicy(object):
7
-
8
- def __init__(self, id, name, users, functions, tres, minPriority,
9
- maxPriority, maxDuration, createTime, updateTime, visibility,
10
- queue):
11
- self.id = id
12
- self.name = name
13
- self.users = users
14
- self.functions = functions
15
- print(tres)
16
- self.tres = []
17
- for tre in tres:
18
- self.tres.append(JobTres(**tre)) # type: ignore
19
- self.minPriority = minPriority
20
- self.maxPriority = maxPriority
21
- self.maxDuration = maxDuration
22
- self.createTime = createTime
23
- self.updateTime = updateTime
24
- self.visibility = visibility
25
- self.queue = JobQueue(**queue) # type: ignore
26
-
27
- @staticmethod
28
- def fetch(id):
29
- query = '''query($input:JobPolicyInput!)
30
- {
31
- jobPolicy(input:$input)
32
- {
33
- id
34
- name
35
- users
36
- functions
37
- tres {
38
- cpu
39
- ecpu
40
- mem
41
- }
42
- minPriority
43
- maxPriority
44
- maxDuration
45
- createTime
46
- updateTime
47
- visibility
48
- queue {
49
- id
50
- name
51
- scheduler
52
- machines {
53
- id
54
- name
55
- tres {
56
- cpu
57
- ecpu
58
- mem
59
- }
60
- valid
61
- }
62
- createTime
63
- updateTime
64
- load
65
- }
66
- }
67
-
68
- }'''
69
- variables = {'input': {'id': id}}
70
- r = graphql_request(query, variables)
71
- print (r)
72
- if 'errors' in r:
73
- raise Exception(r['errors'])
74
- return JobPolicy(**r['data']['jobPolicy'])
75
-
76
- @staticmethod
77
- def fetchMany(input):
78
- query = '''query($input:JobPoliciesInput!)
79
- {
80
- jobPolicies(input:$input)
81
- {
82
- items {
83
- id
84
- name
85
- users
86
- functions
87
- tres {
88
- cpu
89
- ecpu
90
- mem
91
- }
92
- minPriority
93
- maxPriority
94
- maxDuration
95
- createTime
96
- updateTime
97
- visibility
98
- queue {
99
- id
100
- name
101
- scheduler
102
- machines {
103
- id
104
- name
105
- tres {
106
- cpu
107
- ecpu
108
- mem
109
- }
110
- valid
111
- }
112
- createTime
113
- updateTime
114
- load
115
- }
116
- }
117
- cursor
118
- count
119
- total
120
- }
121
- }'''
122
- variables = {'input': input}
123
- r = graphql_request(query, variables)
124
- if 'errors' in r:
125
- raise Exception(r['errors'])
126
- policies = []
127
- for policy in r['data']['jobPolicies']['items']:
128
- policies.append(JobPolicy(**policy))
129
- return policies
cloudpss/job/jobQueue.py DELETED
@@ -1,14 +0,0 @@
1
- from cloudpss.job.jobMachine import JobMachine
2
-
3
-
4
- class JobQueue(object):
5
-
6
- def __init__(self, id, name, scheduler, machines, createTime, updateTime,
7
- load):
8
- self.id = id
9
- self.name = name
10
- self.scheduler = scheduler
11
- self.machines = [JobMachine(**m) for m in machines]
12
- self.createTime = createTime
13
- self.updateTime = updateTime
14
- self.load = load
cloudpss/job/jobTres.py DELETED
@@ -1,6 +0,0 @@
1
- class JobTres(object):
2
- '''tres'''
3
- def __init__(self, cpu, mem, ecpu):
4
- self.cpu = cpu
5
- self.mem = mem
6
- self.ecpu = ecpu
@@ -1,72 +0,0 @@
1
- cloudpss/__init__.py,sha256=EkdgEdD_kYmiXM8cGHX5sZwBnyo-cbNYx70qpUsThgI,835
2
- cloudpss/verify.py,sha256=KF4Gd59DGvCyIEkRD7rNnekWw22XxJpi3DW6keb6j4c,1498
3
- cloudpss/version.py,sha256=_ixjy_jFjqjJnXs87f6t2avQ6cDT_PI90LbV6vW9QZM,28
4
- cloudpss/dslab/DSLabFinancialResult.py,sha256=OOpcubl2FYJe5ZI99tZn9ucXMxCyWjvuogqiQr-W86s,3616
5
- cloudpss/dslab/__init__.py,sha256=UdLDA9OArvLndHtumYAMMHdr5h8S6DrZCYkXIi2Mb4Y,45
6
- cloudpss/dslab/dataManageModel.py,sha256=XQZhcOtInYYC0r0pC2bhDAjuveWVVUSQnAHbAmIbNhQ,10022
7
- cloudpss/dslab/dslab.py,sha256=oErLt0OQkCySLj0bqVGFRQ1Y8MyQSHG5pQDwNDOrKbc,8856
8
- cloudpss/dslab/financialAnalysisModel.py,sha256=t9cZ03yWvLN5ojVeLp-UGgFBIFVU5wbnn5E0UHZA0ws,5062
9
- cloudpss/dslab/files/__init__.py,sha256=l2g0VadtTiMW39zwCwHPHUC01Kbklb_nFUPVeQ16FwM,58
10
- cloudpss/dslab/files/curveData.py,sha256=InlQ_6ZfVkFdhK65PldvIbw_X7Pys2ci4jexZ0flL6c,4291324
11
- cloudpss/dslab/files/files.py,sha256=AB-bpBx3uC12M0Ztdszlz6wtkUdMqrTeWIkzS4jJ2n0,663
12
- cloudpss/function/__init__.py,sha256=TNzChB-gQF6oB62F423evpUlgcp6s03D4pKKs89Lz4Q,1629
13
- cloudpss/function/function.py,sha256=llomkfnTmKMiFJYJ2mKnmAEoIjTNVCnjCUUyiJMOV1s,29
14
- cloudpss/function/functionExecution.py,sha256=YnuBl9dLoVYlPUrfse8_O-4uIAG0QrCIyQdDP2zaQt4,14645
15
- cloudpss/function/job.py,sha256=LdzaTyjvBcMZIyLstSZnt79d2eREljx2HnNoilDp03A,13162
16
- cloudpss/ieslab/DataManageModel.py,sha256=YMpwp04GmkaK1gCnzp5tNAoPwkVfa9AkJPviqNOat7s,19445
17
- cloudpss/ieslab/EvaluationModel.py,sha256=SD7VB81wZnebGQWpx-eTQMQxe6ekFUFycQxz6RyYwOI,6721
18
- cloudpss/ieslab/IESLabPlan.py,sha256=vWRExT0AE5VbR1DaQSINE65sbg0F6cXC7meXNT6Ap6Q,4940
19
- cloudpss/ieslab/IESLabSimulation.py,sha256=IzbcPYWihatXLNduojH9r-guaqnyiWF8sivSjrrZoLY,3090
20
- cloudpss/ieslab/PlanModel.py,sha256=Dk5ZS_8IASqzMlLeN_gIDk76Gm_ybXjGY4pULBsWvEw,4790
21
- cloudpss/ieslab/__init__.py,sha256=kiyUaGRgtwqs0EI2dBBqLVK5V65u1PcY7YTFJX1T0yw,186
22
- cloudpss/job/__init__.py,sha256=3UIFZYjJTzuckM61o8kim1c3PWt2SSHTL72jrGu5IzI,51
23
- cloudpss/job/job.py,sha256=1CKhsB4zKCstdZ7PSep9K-M0yGptRN1ULZ_8M7z3HDs,8600
24
- cloudpss/job/jobMachine.py,sha256=wtJ7X9Cu-4KGpYvxLbvCVWv5Ku0CvsgmfThK8knLfoI,268
25
- cloudpss/job/jobPolicy.py,sha256=k5Ur9LYvTnWNgI9yqeCjs5E499DSOrYbYgywU8-zpC4,4083
26
- cloudpss/job/jobQueue.py,sha256=31Q7NCjb_51d1JOokVyxIfP1r6S_A-ObySJKwt8MxR8,416
27
- cloudpss/job/jobReceiver.py,sha256=kX59JLky86AXwgCWw0abfKu-yDWQ97YAV-sOObF5Kgk,740
28
- cloudpss/job/jobTres.py,sha256=1wwdvwxpYKOfsZ1R95Wkhyg_QYMzqzKoaLJLdB-bD88,148
29
- cloudpss/job/messageStreamReceiver.py,sha256=CxoGNUsRtvRDWUxaGU5c64jAB3FjvX2DPP7IZYr7dFk,6048
30
- cloudpss/job/messageStreamSender.py,sha256=Sl4e1jCtxb62wZKm0tgwdWsg8sjOrYPRXXVz8eIO1bc,3797
31
- cloudpss/job/view/EMTView.py,sha256=U-AF8OuKKJ9c1Q2yXJaNK6LNy_ZHpNi8tR2rn5KaocY,6838
32
- cloudpss/job/view/IESLabSimulationView.py,sha256=_hD-fdEwC6U8hQYbXliNMEii0WxiteglQZuLOSQmMOM,76
33
- cloudpss/job/view/IESLabTypicalDayView.py,sha256=Za57f9TYcBxYeKo8fnEcOjl517v1LMDN0ua537fxcjc,1168
34
- cloudpss/job/view/IESView.py,sha256=yaSczWTjkEV6d6TPLkWjCq0ldN0JO-3sVurAnQR89Mo,3842
35
- cloudpss/job/view/PowerFlowView.py,sha256=xg-KX37ENxYtEV7CRUszXfsyDmTsOKCh7agSg5K6EWQ,2089
36
- cloudpss/job/view/__init__.py,sha256=j_X6aFeY-wa6_0r1EixE0rrvGz_67m4fIqOLmUbkxqY,1466
37
- cloudpss/job/view/view.py,sha256=VJBy56BZ1avhF7gKHWbcW-ohT9my_VW48NqND_c0gSw,3453
38
- cloudpss/model/__init__.py,sha256=SNq-bfwcQtDHtTNBYppfUEs8wkjfrQfGeywx7igmvOs,151
39
- cloudpss/model/jobDefinitions.py,sha256=XqjaaWOLU7zlVHM7TQJbZ3rNBWfBY7eT-5aE6EAatcQ,3770
40
- cloudpss/model/model.py,sha256=PnbjGHz4bql9kXYUc9UA7H2h3fC5LDPLj4P-xxQY_nE,26562
41
- cloudpss/model/revision.py,sha256=bVF-nux2WdJkBCji5LIyo3Wcngla9YbFG8oyp4HATXs,4183
42
- cloudpss/model/topology.py,sha256=W24pAQV9lJNOsx7QgRuf0O7KQxwurIgbE08DemfpDcM,2516
43
- cloudpss/model/implements/__init__.py,sha256=88L_wF9SSzxsbtqwStWIPH4LxaKq7TVcssHQ62YBnls,67
44
- cloudpss/model/implements/component.py,sha256=uNSpkZKChdXLiO40Ev4P3oQ1di2Hu4YjcBOb0I8Bf0c,734
45
- cloudpss/model/implements/diagram.py,sha256=N5RrrywmxOmc2KvP0nC-NiECT1tEhgJZPtiNCfvYPuc,1063
46
- cloudpss/model/implements/implement.py,sha256=Uld96tjXVDbVUNV8xscyy_nZWLHr3iP2DqA6S3p-XJE,954
47
- cloudpss/project/__init__.py,sha256=fpskY-cJGmMcTg1naVzNPtJaRG1xmSc2CFjDTin64Cw,51
48
- cloudpss/project/project.py,sha256=uFhOnM8ngo1_ZYz2uArtORKZquYNdOIVLXU_q1MDFI4,17698
49
- cloudpss/runner/DSLabResult.py,sha256=xJqKA3e1KSXQmLDe9_T6fG1exdE9j7EjfIfvBMmqiJ8,3422
50
- cloudpss/runner/IESLabEvaluationResult.py,sha256=uFNLiN5kzlzSGlLIq3ybuRwB-ufYytflVrXV5g7voOU,5841
51
- cloudpss/runner/IESLabPlanResult.py,sha256=dCyTbMtITy9XDjE42knrpJrvaH7dvFgfQMZbx9hybRs,6862
52
- cloudpss/runner/IESLabTypicalDayResult.py,sha256=3egAzmv32sr4wKaVgLxsM75ScSb08F4-iLEbuPkoi_c,8001
53
- cloudpss/runner/MessageStreamReceiver.py,sha256=MBc1HLU_3SOBKvi8rlEiEqhUSiBsQRzMVhEmS4MCKj8,5883
54
- cloudpss/runner/__init__.py,sha256=FxiYYmssbZgRjieySzi43yPiWEF6eNos2UsoFQeD2H8,341
55
- cloudpss/runner/receiver.py,sha256=QU0RsbCt0EK7sCLHzfj8_QQsuPNfqXxpZi5JKm6roxA,4162
56
- cloudpss/runner/result.py,sha256=MkoTQly7FjKj9mde3bnv4vBDfGJ2U4eK-HhxxdwmemE,13125
57
- cloudpss/runner/runner.py,sha256=DQOvHkdaI7lqcDdW2eEBY4UZPsgg__6vYFT8bUtm8Js,7820
58
- cloudpss/runner/storage.py,sha256=zFET_zwPIOF2Cnh9sgFiS0HFxV1OmVsU34bGUQ6PpkA,4162
59
- cloudpss/runner/transform.py,sha256=krOgTZiJSJAb5QSwerAqlbC4Ma0PKi__0WOZlAxw4O8,11613
60
- cloudpss/utils/AsyncIterable.py,sha256=AIWYrTnmjsIfOowE3asZlexdHNhpK2gm7aucfyyVoQw,781
61
- cloudpss/utils/IO.py,sha256=Uh1NOlBn15Jl5_aWS2QRO2-QsKlFT9o8DPtP8-8Z2PA,5314
62
- cloudpss/utils/__init__.py,sha256=jWVHSOqJQWU0fpg2UbWSEQoLCb2Uys-vH5Uqkb0ihNA,326
63
- cloudpss/utils/dataEncoder.py,sha256=5PUPb844eOGgFnYrMM8bdjdKH_MZz0lk-67uo8TvwEo,885
64
- cloudpss/utils/graphqlUtil.py,sha256=swl6XT1UmUQHdHjMWw3M0i8meEmVKNQvX0SHsbgg8TU,255
65
- cloudpss/utils/httpAsyncRequest.py,sha256=jMV1yMpx6jkAoh93Syn9vedmmt2IR86F8_-0xqf9SGU,2689
66
- cloudpss/utils/httprequests.py,sha256=1VtGuQAybeHAcpQfsXBPRPaNHiJfvoexmUuGmfKqoTY,1733
67
- cloudpss/utils/matlab.py,sha256=SLwVt790BjklJK2XNELt9R2n_1ej9Y8QsTIdFkKXLWE,795
68
- cloudpss/utils/yamlLoader.py,sha256=bv_vPDK_e0n_vZ5FwpDJ_NJWqMAwfU3AbhkvQIxPCy4,2677
69
- cloudpss-4.1.1b7.dist-info/METADATA,sha256=upUUN-HZ9O8g10D5-iM72XOh2OdHJBvV1QFeavvHRo0,2393
70
- cloudpss-4.1.1b7.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
71
- cloudpss-4.1.1b7.dist-info/top_level.txt,sha256=wS9qPU4-aWM9ouzMOx34Nlq-GkdQKpr9vBskwut1BD8,9
72
- cloudpss-4.1.1b7.dist-info/RECORD,,
File without changes