TestCenter Reference
NotificationCounter.py
Go to the documentation of this file.
1 #
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.countercounter = 0
14  self.validCountervalidCounter = 0
15  self.fieldListenerfieldListener = None
16 
17  self.setFieldsetField(ctx, fieldName)
18 
19  def reset(self):
20  self.countercounter = 0
21  self.validCountervalidCounter = 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.fieldListenerfieldListener = ctx.addFieldListener(ctx.field(fieldName), self.updateCounterupdateCounter, False)
28 
29  def updateCounter(self, field):
30  self.countercounter += 1
31  if callable(getattr(field, 'isValid', None)) and field.isValid():
32  self.validCountervalidCounter += 1
33 
34  def notifications(self):
35  return self.countercounter
36 
37  def validNotifications(self):
38  return self.validCountervalidCounter