23
23
false = False
24
24
true = True
25
25
######################
26
+ log = logging .getLogger ("C8yAPI" )
26
27
27
28
OEE_DATA_MODEL_FIELD_NAME = "@com_adamos_oee_datamodel_MachineOEEConfiguration"
28
29
@@ -33,11 +34,11 @@ class CumulocityAPI:
33
34
34
35
def __init__ (self ) -> None :
35
36
self .mocking = MOCK_REQUESTS .lower () == 'true'
36
- logging .info (f'MOCK_REQUESTS: { self .mocking } ' )
37
+ log .info (f'MOCK_REQUESTS: { self .mocking } ' )
37
38
38
39
def send_event (self , event ):
39
40
if self .mocking :
40
- print ( "mock: send event " , json .dumps (event ), ' to ' , C8Y_BASE + ' /event/events' )
41
+ log . info ( f "mock: send event { json .dumps (event )} to { C8Y_BASE } /event/events" )
41
42
return json .dumps ({'response' : 200 })
42
43
else :
43
44
response = requests .post (C8Y_BASE + '/event/events' , headers = C8Y_HEADERS , data = json .dumps (event ))
@@ -49,19 +50,19 @@ def send_event(self, event):
49
50
50
51
def log_warning_on_bad_repsonse (self , response ):
51
52
if not response .ok :
52
- logging .warning (f'response status code is not ok: { response } , content: { response .text } ' )
53
+ log .warning (f'response status code is not ok: { response } , content: { response .text } ' )
53
54
54
55
def get_or_create_device (self , sim_id , label ):
55
56
if self .mocking :
56
- print ( "mock: get or create device with external id" , sim_id )
57
+ log . info ( f "mock: get or create device with external id { sim_id } " )
57
58
return sim_id
58
59
59
60
# Check if device already created
60
61
return self .get_device_by_external_id (sim_id ) or self .__create_device (sim_id , label )
61
62
62
63
def count_all_profiles (self ):
63
64
if self .mocking :
64
- print (f'mock: count_profiles()' )
65
+ log . info (f'mock: count_profiles()' )
65
66
return 5
66
67
67
68
request_query = f'{ C8Y_BASE } /inventory/managedObjects/count?type={ self .OEE_CALCULATION_PROFILE_TYPE } '
@@ -73,23 +74,23 @@ def count_profiles(self, device_id):
73
74
''' count all profiles for the given device id.
74
75
'''
75
76
if self .mocking :
76
- print (f'mock: count_profiles(${ device_id } )' )
77
+ log . info (f'mock: count_profiles(${ device_id } )' )
77
78
return 10
78
79
request_query = f'{ C8Y_BASE } /inventory/managedObjects/count?type={ self .OEE_CALCULATION_PROFILE_TYPE } &text={ device_id } '
79
80
response = requests .get (request_query , headers = C8Y_HEADERS )
80
81
if response .ok :
81
82
try :
82
83
return int (response .text )
83
84
except Exception as e :
84
- logging .warn (f'cannot convert "${ response .text } " to number. exception: { e } ' )
85
+ log .warn (f'cannot convert "${ response .text } " to number. exception: { e } ' )
85
86
return 0
86
87
else :
87
88
self .log_warning_on_bad_repsonse (response )
88
89
return 0
89
90
90
91
def create_managed_object (self , fragment : str ):
91
92
if self .mocking :
92
- print (f'mock: create_managed_object()' )
93
+ log . info (f'mock: create_managed_object()' )
93
94
return {'id' : '0' }
94
95
response = requests .post (C8Y_BASE + '/inventory/managedObjects' , headers = C8Y_HEADERS , data = fragment )
95
96
if response .ok :
@@ -100,7 +101,7 @@ def create_managed_object(self, fragment: str):
100
101
101
102
def get_managed_object (self , id : str ):
102
103
if self .mocking :
103
- print (f'mock: get_managed_object()' )
104
+ log . info (f'mock: get_managed_object()' )
104
105
return {'id' : '0' }
105
106
response = requests .get (C8Y_BASE + f'/inventory/managedObjects/{ id } ' , headers = C8Y_HEADERS )
106
107
if response .ok :
@@ -111,7 +112,7 @@ def get_managed_object(self, id: str):
111
112
112
113
def delete_managed_object (self , id : str ):
113
114
if self .mocking :
114
- print (f'mock: delete_managed_object()' )
115
+ log . info (f'mock: delete_managed_object()' )
115
116
return {'id' : '0' }
116
117
response = requests .delete (C8Y_BASE + f'/inventory/managedObjects/{ id } ' , headers = C8Y_HEADERS )
117
118
if response .ok :
@@ -122,7 +123,7 @@ def delete_managed_object(self, id: str):
122
123
123
124
def update_managed_object (self , device_id , fragment ):
124
125
if self .mocking :
125
- print (f'mock: update_managed_object()' )
126
+ log . info (f'mock: update_managed_object()' )
126
127
return {'id' : '0' }
127
128
128
129
response = requests .put (f'{ C8Y_BASE } /inventory/managedObjects/{ device_id } ' , headers = C8Y_HEADERS , data = fragment )
@@ -133,7 +134,7 @@ def update_managed_object(self, device_id, fragment):
133
134
134
135
def add_child_object (self , device_id : str , child_id : str ):
135
136
if self .mocking :
136
- print (f'mock: add_child_device()' )
137
+ log . info (f'mock: add_child_device()' )
137
138
return {'id' : '0' }
138
139
139
140
data = {"managedObject" : {"id" : child_id }}
@@ -146,13 +147,13 @@ def add_child_object(self, device_id: str, child_id: str):
146
147
147
148
def find_simulators (self ):
148
149
if self .mocking :
149
- print (f'mock: find_simulators()' )
150
+ log . info (f'mock: find_simulators()' )
150
151
return []
151
152
response = requests .get (f'{ C8Y_BASE } /inventory/managedObjects?type={ self .C8Y_SIMULATORS_GROUP } &fragmentType=c8y_IsDevice&pageSize=100' , headers = C8Y_HEADERS )
152
153
if response .ok :
153
154
mangaged_objects = response .json ()['managedObjects' ]
154
155
return [mo ['id' ] for mo in mangaged_objects ]
155
- logging .warning (f'Cannot find simulators: { response } , content:{ response .text } ' )
156
+ log .warning (f'Cannot find simulators: { response } , content:{ response .text } ' )
156
157
return []
157
158
158
159
def get_external_ids (self , device_ids ):
@@ -168,13 +169,13 @@ def get_device_by_external_id(self, external_id):
168
169
response = requests .get (f'{ C8Y_BASE } /identity/externalIds/{ self .C8Y_SIMULATORS_GROUP } /{ external_id } ' , headers = C8Y_HEADERS )
169
170
if response .ok :
170
171
device_id = response .json ()['managedObject' ]['id' ]
171
- logging .info (f'Device({ device_id } ) has been found by its external id "{ self .C8Y_SIMULATORS_GROUP } /{ external_id } ".' )
172
+ log .info (f'Device({ device_id } ) has been found by its external id "{ self .C8Y_SIMULATORS_GROUP } /{ external_id } ".' )
172
173
return device_id
173
- logging .warning (f'No device has been found for the external id "{ self .C8Y_SIMULATORS_GROUP } /{ external_id } ".' )
174
+ log .warning (f'No device has been found for the external id "{ self .C8Y_SIMULATORS_GROUP } /{ external_id } ".' )
174
175
return None
175
176
176
177
def __create_device (self , external_id , name ):
177
- logging .info (f'Creating a new device with following external id "{ self .C8Y_SIMULATORS_GROUP } /{ external_id } "' )
178
+ log .info (f'Creating a new device with following external id "{ self .C8Y_SIMULATORS_GROUP } /{ external_id } "' )
178
179
device = {
179
180
'name' : name ,
180
181
'c8y_IsDevice' : {},
@@ -183,7 +184,7 @@ def __create_device(self, external_id, name):
183
184
device = self .create_managed_object (json .dumps (device ))
184
185
device_id = device ['id' ]
185
186
if device_id :
186
- logging .info (f'new device created({ device_id } )' )
187
+ log .info (f'new device created({ device_id } )' )
187
188
return self .__add_external_id (device_id , external_id )
188
189
return device_id
189
190
0 commit comments