1 # Copyright 2023 highstreet technologies GmbH
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
7 # http://www.apache.org/licenses/LICENSE-2.0
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
18 A collection of TypeDefinitions
21 from model.python.Countries import Country
23 # Define AdministrativeState enum
24 class AdministrativeState(Enum):
27 SHUTTING_DOWN = 'shutting down'
29 # Define AlarmState type
43 # Define OperationalState enum
44 class OperationalState(Enum):
48 # Define LifeCycleState enum
49 class LifeCycleState(Enum):
52 INSTALLED = 'installed'
53 COMMISSIONED = 'commissioned'
54 TO_BE_DESTROYED = 'to be destroyed'
55 DESTROYED = 'destroyed'
57 # Define UsageState enum
58 class UsageState(Enum):
62 # Define Enumerate type
63 def Enumerate(N, Acc=None):
68 return Enumerate(N, Acc + [len(Acc)])
72 return [i for i in range(F, T + 1)]
74 # Define Procent and Utilization types
75 Procent = Range(0, 100)