TestCenter Reference
NotificationCounter.py
Go to the documentation of this file.
2# Copyright 2021, MeVis Medical Solutions AG
3#
4# The user may use this file in accordance with the license agreement provided with
5# the Software or, alternatively, in accordance with the terms contained in a
6# written agreement between the user and MeVis Medical Solutions AG.
7#
8# For further information use the contact form at https://www.mevislab.de/contact
9#
10
12 def __init__(self, ctx, fieldName):
13 self.counter = 0
14 self.validCounter = 0
15 self.fieldListener = None
16
17 self.setField(ctx, fieldName)
18
19 def reset(self):
20 self.counter = 0
21 self.validCounter = 0
22
23 def setField(self, ctx, fieldName):
24 if not ctx.hasField(fieldName):
25 ctx.log("Error: Field '" + fieldName + "' not found in parent network.")
26 else:
27 self.fieldListener = ctx.addFieldListener(ctx.field(fieldName), self.updateCounter, False)
28
29 def updateCounter(self, field):
30 self.counter += 1
31 if callable(getattr(field, 'isValid', None)) and field.isValid():
32 self.validCounter += 1
33
34 def notifications(self):
35 return self.counter
36
38 return self.validCounter