def __init__(self, name=None, regpattern=None, datakey=None, index=0, datatype="float", method="last", active=True): """ constructor of a custom reader to parse additional simple solver output from log file context Parameters: ----------- name : a name to distinguish this reader from the others regpattern : A string or regular expression pattern to detect lines from which output should be read datakey : The data key under which the parsed datum gets stored for every problem index : The zero-based index of the number in the specified line (only numbers count) datatype : choose 'int' or 'float' method : how to treat multiple occurrences of this data within one problem; 'count' occurrences or parse 'first', 'last', 'sum', 'min' or 'max' """ IpetNode.__init__(self, active) if regpattern is None: raise ValueError( "Error: No 'regpattern' specified for reader with name %s" % str(name)) if name in [None, ""]: self.name = datakey + "Reader" self.username = False else: self.name = name self.username = True self.set_datakey(datakey) self.set_index(index) self.regpattern = regpattern self.set_regpattern(regpattern) self.method = method self.methodint = self.METHOD_LAST self.set_method(method) self.set_datatype(datatype)
def __init__(self, problemexpression="@01", problemendexpression="=ready="): """ constructs a new reader Manager Parameters: ----------- problemexpression : an expression that accompanies the start of a new problem in a log file context problemendexpression : an expression that signals the end of an problem in a log file context """ Manager.__init__(self) # an ipet Node is always active IpetNode.__init__(self, True) self.problemexpression = problemexpression self.problemendexpression = problemendexpression self.solvers = [] self.addSolvers() self.activeSolver = self.solvers[0] self.solverCanRead = True