class While(Loop): def __init__(self, transaction, xmlSource): super().__init__(transaction, xmlSource) self.property = Property(xmlSource.get("property")) def test(self): return bool(self.property.get(self.transaction, self))
class While(Loop): def __init__(self, transaction, xmlSource): super().__init__(transaction, xmlSource) self.property = Property(xmlSource.get("property")) def test(self): return bool(self.property.get(self.transaction, self))
class PauseTo(SimpleEntity): tag = "pause_to" def __init__(self, transaction, xmlSource): super().__init__(transaction, xmlSource) self.epoch = Property(xmlSource.get("epoch", "s.t")) self.period = xmlSource.get("period", None) if self.period is not None: self.period = number(self.period) self.time = getXValue(xmlSource, "time", XValueHelper(self)) def duration(self): ptime = float(self.time) atime = float(self.epoch.get(self.transaction, self)) if self.period is not None: comper = math.floor(atime / self.period) start = comper * self.period rem = atime - start if ptime < rem: start += self.period ptime = start + ptime return ptime - atime def action(self): yield self.hold(self.duration())
class IfInRange(Branching): def __init__(self, transaction, xmlSource): super().__init__(transaction, xmlSource) self.property = Property(xmlSource.get("property")) self.attributeSetter(("minimum", float), ("maximum", float)) def test(self): value = float(self.property.get(self.transaction, self)) return self.minimum <= value <= self.maximum
class IfInRange(Branching): def __init__(self, transaction, xmlSource): super().__init__(transaction, xmlSource) self.property = Property(xmlSource.get("property")) self.attributeSetter(("minimum", float), ("maximum", float)) def test(self): value = float(self.property.get(self.transaction, self)) return self.minimum <= value <= self.maximum
class If(Branching): """ If-section (= first subentity) is executed if property is interpreted as true (normal Python boolean semantics), otherwise else-section is only executed. Declarative element: if """ def __init__(self, transaction, xmlSource): super().__init__(transaction, xmlSource) self.property = Property(xmlSource.get("property")) def test(self): return bool(self.property.get(self.transaction, self))
class If(Branching): """ If-section (= first subentity) is executed if property is interpreted as true (normal Python boolean semantics), otherwise else-section is only executed. Declarative element: if """ def __init__(self, transaction, xmlSource): super().__init__(transaction, xmlSource) self.property = Property(xmlSource.get("property")) def test(self): return bool(self.property.get(self.transaction, self))