12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- import traceback
- from .ConfigGroup import ConfigGroup
- class ConfigSet(ConfigGroup):
- '''
- After reading the configuration set items,
- the ConfigSet checks this field.
- If it is true, it will remove any nulls from
- the vector.
- subclasses can change this field in the constructor
- to avoid this "deletion" of nulls.
- '''
- def __init__(self, childType):
- self.childType = childType
- self.childrenList = []
- self.childrenListLen = 0
- def writeConfiguration(self, configurationView, param):
- for i in range(self.childrenListLen):
-
- configurationView.removeByName(i)
- for index,item in enumerate(self.childrenList):
- try:
- childView = configurationView.createInstance()
- configurationView.insertByName(index, childView)
- if callable( self.childType ):
- topic = self.childType()
- topic.cp_Index = item[0].Value
- topic.cp_Topic = item[1].Value
- topic.cp_Responsible = item[2].Value
- topic.cp_Time = item[3].Value
- topic.writeConfiguration(childView, param)
- except Exception:
- traceback.print_exc()
- def readConfiguration(self, configurationView, param):
-
- names = configurationView.ElementNames
- if names:
- for i in names:
- try:
- if callable( self.childType ):
- topic = self.childType()
- topic.readConfiguration(
- configurationView.getByName(i), param)
- self.childrenList.append(topic)
- except Exception:
- traceback.print_exc()
- self.childrenListLen = len(self.childrenList)
|