Пример #1
0
    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)
Пример #2
0
    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
Пример #3
0
 def getRequiredOptionsByAttribute(self, attr):
     return self.requiredoptions.get(
         attr, IpetNode.getRequiredOptionsByAttribute(self, attr))
Пример #4
0
 def getEditableAttributes(self):
     return [
         'name', 'regpattern', 'datakey', 'index', 'datatype', 'method'
     ] + IpetNode.getEditableAttributes(self)
Пример #5
0
 def isActive(self) -> bool:
     """Return if this reader manager is active or not
     """
     return IpetNode.isActive(self)