root / kamaki / clients / quotaholder / api / quotaholder.py @ 6764f588
History | View | Annotate | Download (10.3 kB)
1 | 54069d1b | Stavros Sachtouris | # -*- coding: utf-8 -*-
|
---|---|---|---|
2 | 54069d1b | Stavros Sachtouris | #
|
3 | 54069d1b | Stavros Sachtouris | # Copyright 2012 GRNET S.A. All rights reserved.
|
4 | 54069d1b | Stavros Sachtouris | #
|
5 | 54069d1b | Stavros Sachtouris | # Redistribution and use in source and binary forms, with or
|
6 | 54069d1b | Stavros Sachtouris | # without modification, are permitted provided that the following
|
7 | 54069d1b | Stavros Sachtouris | # conditions are met:
|
8 | 54069d1b | Stavros Sachtouris | #
|
9 | 54069d1b | Stavros Sachtouris | # 1. Redistributions of source code must retain the above
|
10 | 54069d1b | Stavros Sachtouris | # copyright notice, this list of conditions and the following
|
11 | 54069d1b | Stavros Sachtouris | # disclaimer.
|
12 | 54069d1b | Stavros Sachtouris | #
|
13 | 54069d1b | Stavros Sachtouris | # 2. Redistributions in binary form must reproduce the above
|
14 | 54069d1b | Stavros Sachtouris | # copyright notice, this list of conditions and the following
|
15 | 54069d1b | Stavros Sachtouris | # disclaimer in the documentation and/or other materials
|
16 | 54069d1b | Stavros Sachtouris | # provided with the distribution.
|
17 | 54069d1b | Stavros Sachtouris | #
|
18 | 54069d1b | Stavros Sachtouris | # THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
|
19 | 54069d1b | Stavros Sachtouris | # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
20 | 54069d1b | Stavros Sachtouris | # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
21 | 54069d1b | Stavros Sachtouris | # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
|
22 | 54069d1b | Stavros Sachtouris | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
23 | 54069d1b | Stavros Sachtouris | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
24 | 54069d1b | Stavros Sachtouris | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
25 | 54069d1b | Stavros Sachtouris | # USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
26 | 54069d1b | Stavros Sachtouris | # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
27 | 54069d1b | Stavros Sachtouris | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
28 | 54069d1b | Stavros Sachtouris | # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
29 | 54069d1b | Stavros Sachtouris | # POSSIBILITY OF SUCH DAMAGE.
|
30 | 54069d1b | Stavros Sachtouris | #
|
31 | 54069d1b | Stavros Sachtouris | # The views and conclusions contained in the software and
|
32 | 54069d1b | Stavros Sachtouris | # documentation are those of the authors and should not be
|
33 | 54069d1b | Stavros Sachtouris | # interpreted as representing official policies, either expressed
|
34 | 54069d1b | Stavros Sachtouris | # or implied, of GRNET S.A.
|
35 | 54069d1b | Stavros Sachtouris | |
36 | 54069d1b | Stavros Sachtouris | |
37 | d1304043 | Stavros Sachtouris | from kamaki.clients.commissioning import ( |
38 | d1304043 | Stavros Sachtouris | CanonifyException, |
39 | d1304043 | Stavros Sachtouris | SpecifyException, |
40 | d1304043 | Stavros Sachtouris | Specificator, |
41 | d1304043 | Stavros Sachtouris | Null, |
42 | d1304043 | Stavros Sachtouris | Integer, |
43 | d1304043 | Stavros Sachtouris | Text, |
44 | d1304043 | Stavros Sachtouris | Tuple, |
45 | d1304043 | Stavros Sachtouris | ListOf, |
46 | d1304043 | Stavros Sachtouris | Dict, |
47 | d1304043 | Stavros Sachtouris | Args) |
48 | 54069d1b | Stavros Sachtouris | from random import choice, randint |
49 | 54069d1b | Stavros Sachtouris | |
50 | d1304043 | Stavros Sachtouris | Context = Dict(classname='Context', null=True, show=False) |
51 | d1304043 | Stavros Sachtouris | |
52 | 54069d1b | Stavros Sachtouris | |
53 | 54069d1b | Stavros Sachtouris | class Name(Text): |
54 | 54069d1b | Stavros Sachtouris | def init(self): |
55 | d1304043 | Stavros Sachtouris | self.opts.update({'regex': "[\w.:@+/-]+", 'maxlen': 512}) |
56 | 54069d1b | Stavros Sachtouris | Text.init(self)
|
57 | 54069d1b | Stavros Sachtouris | |
58 | 54069d1b | Stavros Sachtouris | def _random_choice(self, kw): |
59 | 54069d1b | Stavros Sachtouris | alphabet = u'abcdef_1233490.:@/-αβγδεζ'
|
60 | 54069d1b | Stavros Sachtouris | length = randint(1, 48) |
61 | 54069d1b | Stavros Sachtouris | return ''.join(choice(alphabet) for _ in xrange(length)) |
62 | 54069d1b | Stavros Sachtouris | |
63 | d1304043 | Stavros Sachtouris | |
64 | 54069d1b | Stavros Sachtouris | class Nonnegative(Integer): |
65 | 54069d1b | Stavros Sachtouris | def init(self): |
66 | 54069d1b | Stavros Sachtouris | self.opts.update({'minimum': 0}) |
67 | 54069d1b | Stavros Sachtouris | |
68 | d1304043 | Stavros Sachtouris | |
69 | 54069d1b | Stavros Sachtouris | class Positive(Integer): |
70 | 54069d1b | Stavros Sachtouris | def init(self): |
71 | 54069d1b | Stavros Sachtouris | self.opts.update({'minimum': 1}) |
72 | 54069d1b | Stavros Sachtouris | |
73 | d1304043 | Stavros Sachtouris | |
74 | 6764f588 | Stavros Sachtouris | QH_PRACTICALLY_INFINITE = 10 ** 32 |
75 | d1304043 | Stavros Sachtouris | |
76 | d1304043 | Stavros Sachtouris | Serial = Positive(classname='Serial')
|
77 | d1304043 | Stavros Sachtouris | |
78 | d1304043 | Stavros Sachtouris | ClientKey = Name(classname='ClientKey')
|
79 | d1304043 | Stavros Sachtouris | Nothing = Null(classname='Nothing')
|
80 | d1304043 | Stavros Sachtouris | |
81 | d1304043 | Stavros Sachtouris | Entity = Name(classname='Entity')
|
82 | d1304043 | Stavros Sachtouris | Owner = Name(classname='Owner')
|
83 | d1304043 | Stavros Sachtouris | Key = Text(classname='Key')
|
84 | d1304043 | Stavros Sachtouris | NewKey = Text(classname='Newkey')
|
85 | d1304043 | Stavros Sachtouris | OwnerKey = Text(classname='OwnerKey')
|
86 | d1304043 | Stavros Sachtouris | Resource = Name(classname='Resource')
|
87 | d1304043 | Stavros Sachtouris | Policy = Name(classname='Policy')
|
88 | d1304043 | Stavros Sachtouris | |
89 | d1304043 | Stavros Sachtouris | Quantity = Integer(classname='Quantity')
|
90 | d1304043 | Stavros Sachtouris | Capacity = Nonnegative(classname='Capacity')
|
91 | d1304043 | Stavros Sachtouris | ImportLimit = Nonnegative(classname='ImportLimit')
|
92 | d1304043 | Stavros Sachtouris | ExportLimit = Nonnegative(classname='ExportLimit')
|
93 | d1304043 | Stavros Sachtouris | QuantityDelta = Integer(classname='QuantityDelta')
|
94 | d1304043 | Stavros Sachtouris | CapacityDelta = Integer(classname='CapacityDelta')
|
95 | d1304043 | Stavros Sachtouris | ImportLimitDelta = Integer(classname='ImportLimitDelta')
|
96 | d1304043 | Stavros Sachtouris | ExportLimitDelta = Integer(classname='ExportLimitDelta')
|
97 | d1304043 | Stavros Sachtouris | Imported = Nonnegative(classname='Imported')
|
98 | d1304043 | Stavros Sachtouris | Exported = Nonnegative(classname='Exported')
|
99 | d1304043 | Stavros Sachtouris | Returned = Nonnegative(classname='Returned')
|
100 | d1304043 | Stavros Sachtouris | Released = Nonnegative(classname='Released')
|
101 | d1304043 | Stavros Sachtouris | Flags = Nonnegative(classname='Flags')
|
102 | d1304043 | Stavros Sachtouris | Index = Nonnegative(classname='Index')
|
103 | d1304043 | Stavros Sachtouris | |
104 | d1304043 | Stavros Sachtouris | Timepoint = Text(classname='Timepoint', maxlen=24) |
105 | d1304043 | Stavros Sachtouris | Reason = Text(classname='Reason', regex='(ACCEPT|REJECT):.*', maxlen=128) |
106 | d1304043 | Stavros Sachtouris | |
107 | 54069d1b | Stavros Sachtouris | |
108 | 54069d1b | Stavros Sachtouris | class QuotaholderAPI(Specificator): |
109 | 54069d1b | Stavros Sachtouris | |
110 | d1304043 | Stavros Sachtouris | def create_entity( |
111 | d1304043 | Stavros Sachtouris | self,
|
112 | d1304043 | Stavros Sachtouris | context=Context, |
113 | d1304043 | Stavros Sachtouris | create_entity=ListOf(Entity, Owner, Key, OwnerKey, |
114 | d1304043 | Stavros Sachtouris | nonempty=1)
|
115 | d1304043 | Stavros Sachtouris | ): |
116 | 54069d1b | Stavros Sachtouris | rejected = ListOf(Index) |
117 | 54069d1b | Stavros Sachtouris | return rejected
|
118 | 54069d1b | Stavros Sachtouris | |
119 | d1304043 | Stavros Sachtouris | def set_entity_key( |
120 | d1304043 | Stavros Sachtouris | self,
|
121 | d1304043 | Stavros Sachtouris | context=Context, |
122 | d1304043 | Stavros Sachtouris | set_entity_key=ListOf(Entity, Key, NewKey) |
123 | d1304043 | Stavros Sachtouris | ): |
124 | 54069d1b | Stavros Sachtouris | rejected = ListOf(Entity) |
125 | 54069d1b | Stavros Sachtouris | return rejected
|
126 | 54069d1b | Stavros Sachtouris | |
127 | d1304043 | Stavros Sachtouris | def list_entities( |
128 | d1304043 | Stavros Sachtouris | self,
|
129 | d1304043 | Stavros Sachtouris | context=Context, |
130 | d1304043 | Stavros Sachtouris | entity=Entity, |
131 | d1304043 | Stavros Sachtouris | key=Key |
132 | d1304043 | Stavros Sachtouris | ): |
133 | 54069d1b | Stavros Sachtouris | entities = ListOf(Entity) |
134 | 54069d1b | Stavros Sachtouris | return entities
|
135 | 54069d1b | Stavros Sachtouris | |
136 | d1304043 | Stavros Sachtouris | def get_entity( |
137 | d1304043 | Stavros Sachtouris | self,
|
138 | d1304043 | Stavros Sachtouris | context=Context, |
139 | d1304043 | Stavros Sachtouris | get_entity=ListOf(Entity, Key, nonempty=1)
|
140 | d1304043 | Stavros Sachtouris | ): |
141 | 54069d1b | Stavros Sachtouris | entities = ListOf(Entity, Owner) |
142 | 54069d1b | Stavros Sachtouris | return entities
|
143 | 54069d1b | Stavros Sachtouris | |
144 | d1304043 | Stavros Sachtouris | def get_limits( |
145 | d1304043 | Stavros Sachtouris | self,
|
146 | d1304043 | Stavros Sachtouris | context=Context, |
147 | d1304043 | Stavros Sachtouris | get_limits=ListOf(Policy, nonempty=1)
|
148 | d1304043 | Stavros Sachtouris | ): |
149 | 54069d1b | Stavros Sachtouris | limits = ListOf(Policy, Quantity, Capacity, |
150 | 54069d1b | Stavros Sachtouris | ImportLimit, ExportLimit) |
151 | 54069d1b | Stavros Sachtouris | return limits
|
152 | 54069d1b | Stavros Sachtouris | |
153 | d1304043 | Stavros Sachtouris | def set_limits( |
154 | d1304043 | Stavros Sachtouris | self,
|
155 | d1304043 | Stavros Sachtouris | context=Context, |
156 | d1304043 | Stavros Sachtouris | set_limits=ListOf( |
157 | d1304043 | Stavros Sachtouris | Policy, |
158 | d1304043 | Stavros Sachtouris | Quantity, |
159 | d1304043 | Stavros Sachtouris | Capacity, |
160 | d1304043 | Stavros Sachtouris | ImportLimit, |
161 | d1304043 | Stavros Sachtouris | ExportLimit, |
162 | d1304043 | Stavros Sachtouris | nonempty=1)
|
163 | d1304043 | Stavros Sachtouris | ): |
164 | 54069d1b | Stavros Sachtouris | rejected = ListOf(Policy) |
165 | 54069d1b | Stavros Sachtouris | return rejected
|
166 | 54069d1b | Stavros Sachtouris | |
167 | d1304043 | Stavros Sachtouris | def get_holding( |
168 | d1304043 | Stavros Sachtouris | self,
|
169 | d1304043 | Stavros Sachtouris | context=Context, |
170 | d1304043 | Stavros Sachtouris | get_holding=ListOf(Entity, Resource, Key) |
171 | d1304043 | Stavros Sachtouris | ): |
172 | 6764f588 | Stavros Sachtouris | holdings = ListOf( |
173 | 6764f588 | Stavros Sachtouris | Entity, |
174 | 6764f588 | Stavros Sachtouris | Resource, |
175 | 6764f588 | Stavros Sachtouris | Policy, |
176 | 6764f588 | Stavros Sachtouris | Imported, |
177 | 6764f588 | Stavros Sachtouris | Exported, |
178 | 6764f588 | Stavros Sachtouris | Returned, |
179 | 6764f588 | Stavros Sachtouris | Released, |
180 | 6764f588 | Stavros Sachtouris | Flags) |
181 | 54069d1b | Stavros Sachtouris | return holdings
|
182 | 54069d1b | Stavros Sachtouris | |
183 | d1304043 | Stavros Sachtouris | def set_holding( |
184 | d1304043 | Stavros Sachtouris | self,
|
185 | d1304043 | Stavros Sachtouris | context=Context, |
186 | d1304043 | Stavros Sachtouris | set_holding=ListOf(Entity, Resource, Key, Policy, Flags) |
187 | d1304043 | Stavros Sachtouris | ): |
188 | 54069d1b | Stavros Sachtouris | rejected = ListOf(Entity, Resource, Policy) |
189 | 54069d1b | Stavros Sachtouris | return rejected
|
190 | 54069d1b | Stavros Sachtouris | |
191 | d1304043 | Stavros Sachtouris | def init_holding( |
192 | d1304043 | Stavros Sachtouris | self,
|
193 | d1304043 | Stavros Sachtouris | context=Context, |
194 | d1304043 | Stavros Sachtouris | init_holding=ListOf( |
195 | d1304043 | Stavros Sachtouris | Entity, |
196 | d1304043 | Stavros Sachtouris | Resource, |
197 | d1304043 | Stavros Sachtouris | Key, |
198 | d1304043 | Stavros Sachtouris | Policy, |
199 | d1304043 | Stavros Sachtouris | Imported, |
200 | d1304043 | Stavros Sachtouris | Exported, |
201 | d1304043 | Stavros Sachtouris | Returned, |
202 | d1304043 | Stavros Sachtouris | Released, |
203 | d1304043 | Stavros Sachtouris | Flags) |
204 | d1304043 | Stavros Sachtouris | ): |
205 | 54069d1b | Stavros Sachtouris | rejected = ListOf(Index) |
206 | 54069d1b | Stavros Sachtouris | return rejected
|
207 | 54069d1b | Stavros Sachtouris | |
208 | d1304043 | Stavros Sachtouris | def reset_holding( |
209 | d1304043 | Stavros Sachtouris | self,
|
210 | d1304043 | Stavros Sachtouris | context=Context, |
211 | d1304043 | Stavros Sachtouris | reset_holding=ListOf( |
212 | d1304043 | Stavros Sachtouris | Entity, |
213 | d1304043 | Stavros Sachtouris | Resource, |
214 | d1304043 | Stavros Sachtouris | Key, |
215 | d1304043 | Stavros Sachtouris | Imported, |
216 | d1304043 | Stavros Sachtouris | Exported, |
217 | d1304043 | Stavros Sachtouris | Returned, |
218 | d1304043 | Stavros Sachtouris | Released) |
219 | d1304043 | Stavros Sachtouris | ): |
220 | 54069d1b | Stavros Sachtouris | rejected = ListOf(Index) |
221 | 54069d1b | Stavros Sachtouris | return rejected
|
222 | 54069d1b | Stavros Sachtouris | |
223 | d1304043 | Stavros Sachtouris | def release_holding( |
224 | d1304043 | Stavros Sachtouris | self,
|
225 | d1304043 | Stavros Sachtouris | context=Context, |
226 | d1304043 | Stavros Sachtouris | release_holding=ListOf(Entity, Resource, Key) |
227 | d1304043 | Stavros Sachtouris | ): |
228 | 54069d1b | Stavros Sachtouris | rejected = ListOf(Index) |
229 | 54069d1b | Stavros Sachtouris | return rejected
|
230 | 54069d1b | Stavros Sachtouris | |
231 | d1304043 | Stavros Sachtouris | def list_resources(self, context=Context, entity=Entity, key=Key): |
232 | 54069d1b | Stavros Sachtouris | resources = ListOf(Resource) |
233 | 54069d1b | Stavros Sachtouris | return resources
|
234 | 54069d1b | Stavros Sachtouris | |
235 | d1304043 | Stavros Sachtouris | def list_holdings( |
236 | d1304043 | Stavros Sachtouris | self,
|
237 | d1304043 | Stavros Sachtouris | context=Context, |
238 | d1304043 | Stavros Sachtouris | list_holdings=ListOf(Entity, Key) |
239 | d1304043 | Stavros Sachtouris | ): |
240 | 54069d1b | Stavros Sachtouris | rejected = ListOf(Entity) |
241 | 54069d1b | Stavros Sachtouris | holdings_list = ListOf(ListOf(Entity, Resource, |
242 | 54069d1b | Stavros Sachtouris | Imported, Exported, |
243 | 54069d1b | Stavros Sachtouris | Returned, Released)) |
244 | 54069d1b | Stavros Sachtouris | return Tuple(holdings_list, rejected)
|
245 | 54069d1b | Stavros Sachtouris | |
246 | d1304043 | Stavros Sachtouris | def get_quota( |
247 | d1304043 | Stavros Sachtouris | self,
|
248 | d1304043 | Stavros Sachtouris | context=Context, |
249 | d1304043 | Stavros Sachtouris | get_quota=ListOf(Entity, Resource, Key) |
250 | d1304043 | Stavros Sachtouris | ): |
251 | 54069d1b | Stavros Sachtouris | quotas = ListOf(Entity, Resource, |
252 | 54069d1b | Stavros Sachtouris | Quantity, Capacity, |
253 | 54069d1b | Stavros Sachtouris | ImportLimit, ExportLimit, |
254 | 54069d1b | Stavros Sachtouris | Imported, Exported, |
255 | 54069d1b | Stavros Sachtouris | Returned, Released, |
256 | 54069d1b | Stavros Sachtouris | Flags) |
257 | 54069d1b | Stavros Sachtouris | return quotas
|
258 | 54069d1b | Stavros Sachtouris | |
259 | d1304043 | Stavros Sachtouris | def set_quota( |
260 | d1304043 | Stavros Sachtouris | self,
|
261 | d1304043 | Stavros Sachtouris | context=Context, |
262 | d1304043 | Stavros Sachtouris | set_quota=ListOf( |
263 | d1304043 | Stavros Sachtouris | Entity, |
264 | d1304043 | Stavros Sachtouris | Resource, |
265 | d1304043 | Stavros Sachtouris | Key, |
266 | d1304043 | Stavros Sachtouris | Quantity, |
267 | d1304043 | Stavros Sachtouris | Capacity, |
268 | d1304043 | Stavros Sachtouris | ImportLimit, |
269 | d1304043 | Stavros Sachtouris | ExportLimit, |
270 | d1304043 | Stavros Sachtouris | Flags) |
271 | d1304043 | Stavros Sachtouris | ): |
272 | d1304043 | Stavros Sachtouris | rejected = ListOf(Entity, Resource) |
273 | d1304043 | Stavros Sachtouris | return rejected
|
274 | d1304043 | Stavros Sachtouris | |
275 | d1304043 | Stavros Sachtouris | def add_quota( |
276 | d1304043 | Stavros Sachtouris | self,
|
277 | d1304043 | Stavros Sachtouris | context=Context, |
278 | d1304043 | Stavros Sachtouris | clientkey=ClientKey, |
279 | d1304043 | Stavros Sachtouris | serial=Serial, |
280 | d1304043 | Stavros Sachtouris | sub_quota=ListOf( |
281 | d1304043 | Stavros Sachtouris | Entity, |
282 | d1304043 | Stavros Sachtouris | Resource, |
283 | d1304043 | Stavros Sachtouris | Key, |
284 | d1304043 | Stavros Sachtouris | QuantityDelta, |
285 | d1304043 | Stavros Sachtouris | CapacityDelta, |
286 | d1304043 | Stavros Sachtouris | ImportLimitDelta, |
287 | d1304043 | Stavros Sachtouris | ExportLimitDelta), |
288 | d1304043 | Stavros Sachtouris | add_quota=ListOf( |
289 | d1304043 | Stavros Sachtouris | Entity, |
290 | d1304043 | Stavros Sachtouris | Resource, |
291 | d1304043 | Stavros Sachtouris | Key, |
292 | d1304043 | Stavros Sachtouris | QuantityDelta, |
293 | d1304043 | Stavros Sachtouris | CapacityDelta, |
294 | d1304043 | Stavros Sachtouris | ImportLimitDelta, |
295 | d1304043 | Stavros Sachtouris | ExportLimitDelta) |
296 | d1304043 | Stavros Sachtouris | ): |
297 | 54069d1b | Stavros Sachtouris | rejected = ListOf(Entity, Resource) |
298 | 54069d1b | Stavros Sachtouris | return rejected
|
299 | 54069d1b | Stavros Sachtouris | |
300 | d1304043 | Stavros Sachtouris | def query_serials( |
301 | d1304043 | Stavros Sachtouris | self,
|
302 | d1304043 | Stavros Sachtouris | context=Context, |
303 | d1304043 | Stavros Sachtouris | clientkey=ClientKey, |
304 | d1304043 | Stavros Sachtouris | serials=ListOf(Serial) |
305 | d1304043 | Stavros Sachtouris | ): |
306 | d1304043 | Stavros Sachtouris | return ListOf(Serial)
|
307 | d1304043 | Stavros Sachtouris | |
308 | d1304043 | Stavros Sachtouris | def ack_serials( |
309 | d1304043 | Stavros Sachtouris | self,
|
310 | d1304043 | Stavros Sachtouris | context=Context, |
311 | d1304043 | Stavros Sachtouris | clientkey=ClientKey, |
312 | d1304043 | Stavros Sachtouris | serials=ListOf(Serial) |
313 | d1304043 | Stavros Sachtouris | ): |
314 | d1304043 | Stavros Sachtouris | return Nothing
|
315 | d1304043 | Stavros Sachtouris | |
316 | d1304043 | Stavros Sachtouris | def issue_commission( |
317 | d1304043 | Stavros Sachtouris | self,
|
318 | d1304043 | Stavros Sachtouris | context=Context, |
319 | d1304043 | Stavros Sachtouris | target=Entity, |
320 | d1304043 | Stavros Sachtouris | key=Key, |
321 | d1304043 | Stavros Sachtouris | clientkey=ClientKey, |
322 | d1304043 | Stavros Sachtouris | name=Text(default=''),
|
323 | d1304043 | Stavros Sachtouris | provisions=ListOf(Entity, Resource, Quantity) |
324 | d1304043 | Stavros Sachtouris | ): |
325 | 54069d1b | Stavros Sachtouris | return Serial
|
326 | 54069d1b | Stavros Sachtouris | |
327 | d1304043 | Stavros Sachtouris | def accept_commission( |
328 | d1304043 | Stavros Sachtouris | self,
|
329 | d1304043 | Stavros Sachtouris | context=Context, |
330 | d1304043 | Stavros Sachtouris | clientkey=ClientKey, |
331 | d1304043 | Stavros Sachtouris | serials=ListOf(Serial), |
332 | d1304043 | Stavros Sachtouris | reason=Text(default='ACCEPT')
|
333 | d1304043 | Stavros Sachtouris | ): |
334 | 54069d1b | Stavros Sachtouris | return Nothing
|
335 | 54069d1b | Stavros Sachtouris | |
336 | d1304043 | Stavros Sachtouris | def reject_commission( |
337 | d1304043 | Stavros Sachtouris | self,
|
338 | d1304043 | Stavros Sachtouris | context=Context, |
339 | d1304043 | Stavros Sachtouris | clientkey=ClientKey, |
340 | d1304043 | Stavros Sachtouris | serials=ListOf(Serial), |
341 | d1304043 | Stavros Sachtouris | reason=Text(default='REJECT')
|
342 | d1304043 | Stavros Sachtouris | ): |
343 | 54069d1b | Stavros Sachtouris | return Nothing
|
344 | 54069d1b | Stavros Sachtouris | |
345 | d1304043 | Stavros Sachtouris | def get_pending_commissions( |
346 | d1304043 | Stavros Sachtouris | self,
|
347 | d1304043 | Stavros Sachtouris | context=Context, |
348 | d1304043 | Stavros Sachtouris | clientkey=ClientKey |
349 | d1304043 | Stavros Sachtouris | ): |
350 | 54069d1b | Stavros Sachtouris | pending = ListOf(Serial) |
351 | 54069d1b | Stavros Sachtouris | return pending
|
352 | 54069d1b | Stavros Sachtouris | |
353 | d1304043 | Stavros Sachtouris | def resolve_pending_commissions( |
354 | d1304043 | Stavros Sachtouris | self,
|
355 | d1304043 | Stavros Sachtouris | context=Context, |
356 | d1304043 | Stavros Sachtouris | clientkey=ClientKey, |
357 | d1304043 | Stavros Sachtouris | max_serial=Serial, |
358 | d1304043 | Stavros Sachtouris | accept_set=ListOf(Serial) |
359 | d1304043 | Stavros Sachtouris | ): |
360 | 54069d1b | Stavros Sachtouris | return Nothing
|
361 | 54069d1b | Stavros Sachtouris | |
362 | d1304043 | Stavros Sachtouris | def release_entity( |
363 | d1304043 | Stavros Sachtouris | self,
|
364 | d1304043 | Stavros Sachtouris | context=Context, |
365 | d1304043 | Stavros Sachtouris | release_entity=ListOf(Entity, Key, nonempty=1)
|
366 | d1304043 | Stavros Sachtouris | ): |
367 | 54069d1b | Stavros Sachtouris | rejected = ListOf(Entity) |
368 | 54069d1b | Stavros Sachtouris | return rejected
|
369 | 54069d1b | Stavros Sachtouris | |
370 | d1304043 | Stavros Sachtouris | def get_timeline( |
371 | d1304043 | Stavros Sachtouris | self,
|
372 | d1304043 | Stavros Sachtouris | context=Context, |
373 | d1304043 | Stavros Sachtouris | after=Timepoint, |
374 | d1304043 | Stavros Sachtouris | before=Timepoint, |
375 | d1304043 | Stavros Sachtouris | get_timeline=ListOf(Entity, Resource, Key) |
376 | d1304043 | Stavros Sachtouris | ): |
377 | 54069d1b | Stavros Sachtouris | timeline = ListOf(Dict( |
378 | d1304043 | Stavros Sachtouris | serial=Serial, |
379 | d1304043 | Stavros Sachtouris | source=Entity, |
380 | d1304043 | Stavros Sachtouris | target=Entity, |
381 | d1304043 | Stavros Sachtouris | resource=Resource, |
382 | d1304043 | Stavros Sachtouris | name=Name(), |
383 | d1304043 | Stavros Sachtouris | quantity=Quantity, |
384 | d1304043 | Stavros Sachtouris | source_allocated=Quantity, |
385 | d1304043 | Stavros Sachtouris | source_allocated_through=Quantity, |
386 | d1304043 | Stavros Sachtouris | source_inbound=Quantity, |
387 | d1304043 | Stavros Sachtouris | source_inbound_through=Quantity, |
388 | d1304043 | Stavros Sachtouris | source_outbound=Quantity, |
389 | d1304043 | Stavros Sachtouris | source_outbound_through=Quantity, |
390 | d1304043 | Stavros Sachtouris | target_allocated=Quantity, |
391 | d1304043 | Stavros Sachtouris | target_allocated_through=Quantity, |
392 | d1304043 | Stavros Sachtouris | target_inbound=Quantity, |
393 | d1304043 | Stavros Sachtouris | target_inbound_through=Quantity, |
394 | d1304043 | Stavros Sachtouris | target_outbound=Quantity, |
395 | d1304043 | Stavros Sachtouris | target_outbound_through=Quantity, |
396 | d1304043 | Stavros Sachtouris | issue_time=Timepoint, |
397 | d1304043 | Stavros Sachtouris | log_time=Timepoint, |
398 | d1304043 | Stavros Sachtouris | reason=Reason, |
399 | d1304043 | Stavros Sachtouris | strict=True))
|
400 | 54069d1b | Stavros Sachtouris | return timeline |