@@ -68,15 +68,15 @@ def __init__(self, instance_name=None, server_name=None):
68
68
instance_name: optional name of the instance (default is None, i.e. the "ApisHive" instance)
69
69
server_name: optional name of the server hostting the instance (default is None, i.e. "localhost")
70
70
"""
71
- self .api = Prediktor .APIS .Hive .Hive .CreateServer (instance_name , server_name or 'localhost' )
71
+ self .api = Prediktor .APIS .Hive .Hive .CreateServer (instance_name , server_name )
72
72
self ._modtypes = { str (obj ):obj for obj in self .api .ModuleTypes }
73
73
74
74
75
75
def __str__ (self ):
76
76
return self .api .ConfigurationName
77
77
78
78
def __repr__ (self ):
79
- return "<Apis.Hive instance: {}>" . format ( self )
79
+ return f "<Apis.Hive instance: { self } >"
80
80
81
81
def __len__ (self ):
82
82
return len (self .api .GetModules ())
@@ -110,8 +110,8 @@ def get_module(self, key):
110
110
if str (obj ) == key :
111
111
return Module (self , obj )
112
112
113
- raise Error ("Invalid module name: ''" . format ( key ) )
114
- raise Error ("Invalid index type: {}" . format ( type (key ).__name__ ) )
113
+ raise Error (f "Invalid module name: '{ key } '" )
114
+ raise Error (f "Invalid index type: { type (key ).__name__ } " )
115
115
116
116
@property
117
117
def module_types (self ):
@@ -142,11 +142,20 @@ def add_module(self, module_type, name=None):
142
142
return Module (self , obj )
143
143
144
144
def get_values (self , items , since = None ):
145
+ """
146
+ Get a list of value-quality-itmestamps from the connected hive
147
+
148
+ Arguments:
149
+ items: A list of Item objects of itemId's as stings
150
+ since (Optional): the oldest time of the values to retrieve
151
+ """
145
152
if not since :
146
153
since = System .DateTime .MinValue
154
+
147
155
itemIds = [i .item_id if isinstance (i , Item ) else str (i ) for i in items ]
148
156
handles = self .api .LookupItemHandles (itemIds )
149
157
158
+ #argument placeholders
150
159
h_out = System .Array [System .Int32 ]([])
151
160
v_out = System .Array [System .Object ]([])
152
161
q_out = System .Array [System .UInt16 ]([])
@@ -206,9 +215,9 @@ def get_item(self, key):
206
215
for obj in self .api .GetItems ():
207
216
if obj .Name == key :
208
217
return Item (self , obj )
209
- raise Error ("Invalid item name: '{}'" . format ( key ) )
218
+ raise Error (f "Invalid item name: '{ key } '" )
210
219
211
- raise Error ("Invalid index type: {}" . format ( type (key ).__name__ ) )
220
+ raise Error (f "Invalid index type: { type (key ).__name__ } " )
212
221
213
222
@property
214
223
def item_types (self ):
@@ -254,17 +263,19 @@ def __init__(self, module, api):
254
263
self .api = api
255
264
256
265
def __str__ (self ):
257
- return "{ }={}" . format ( self .name (), self . value ())
266
+ return f" { self . name } ={ self .value } "
258
267
259
268
def __repr__ (self ):
260
- return "<Apis.Hive.Module.Property: {}>" . format ( self )
269
+ return f "<Apis.Hive.Module.Property: { self } >"
261
270
271
+ @property
262
272
def name (self ):
263
273
return self .api .Name
264
274
265
275
def desc (self ):
266
276
return self .api .Description
267
277
278
+ @property
268
279
def value (self ):
269
280
return self .api .Value
270
281
@@ -310,10 +321,12 @@ def __iter__(self):
310
321
311
322
@property
312
323
def name (self ):
324
+ "The item name. Unique within a module"
313
325
return self .api .Name
314
326
315
327
@property
316
328
def item_id (self ):
329
+ "The item-id. . Unique within a hive"
317
330
return self .api .ItemID
318
331
319
332
@@ -337,10 +350,10 @@ def __init__(self, item, api):
337
350
self .api = api
338
351
339
352
def __str__ (self ):
340
- return "{}={}" . format ( self .name , self . value )
353
+ return "{self.name }={self.value}"
341
354
342
355
def __repr__ (self ):
343
- return "<Apis.Hive.Module.Attr: {}>" . format ( self )
356
+ return f "<Apis.Hive.Module.Attr: { self } >"
344
357
345
358
@property
346
359
def name (self ):
@@ -350,21 +363,18 @@ def name(self):
350
363
def flag (self ):
351
364
return self .api .Flag
352
365
353
-
354
-
355
366
def get_value (self ):
356
367
v = self .api .Value
357
368
if self .flag & AttrFlags .Enumerated :
358
369
attr_enum = self .api .GetEnumeration ()
359
370
for i ,val in enumerate (attr_enum .Values ):
360
371
if val == v :
361
372
return attr_enum .Names [i ]
362
- raise Error (f"Enumerated property not found" )
373
+ raise Error (f"Enumerated property with value ' { v } ' not found on { self . name } " )
363
374
return v
364
375
365
376
def set_value (self , value ):
366
377
if self .flag & AttrFlags .ReadOnly :
367
- print (f'should fail, { self .flag } ' )
368
378
raise AttributeError (f"Attribute { self .name } on { self .item } is read only" )
369
379
370
380
if self .flag & AttrFlags .Enumerated :
@@ -374,14 +384,14 @@ def set_value(self, value):
374
384
self .api .Value = attr_enum .Values [i ]
375
385
break
376
386
else :
377
- raise Error (f"Enumerated property not found" )
387
+ raise Error (f"Enumerated property for { value } not found on attribute { self . name } . " )
378
388
else :
379
389
try :
380
390
self .api .Value = value
381
391
except Exception as e :
392
+ #Wrap the exception from below in an Error.
382
393
raise Error (f"Exception from Apis { e } " )
383
394
384
-
385
395
value = property (get_value , set_value , doc = "Access the property value" )
386
396
387
397
0 commit comments