Beispiel #1
0
class Weekly(Trigger, mixin.Single("offset")):
    """Trigger affects weekly."""
    def __call__(self, env):
        return (datetime.datetime.today() - self.offset).weekday() == 0
Beispiel #2
0
class Daily(Trigger, mixin.Single("offset")):
    """Trigger affects daily."""
    def __call__(self, env):
        return (datetime.datetime.today() - self.offset).hour == 0
Beispiel #3
0
class FunctionTrigger(Trigger, mixin.Single("function")):
    """Use a function as a trigger."""
    def __call__(self, env):
        return self.function(env)
Beispiel #4
0
class Time(Trigger, mixin.Single("time")):
    """Time trigger."""
    def __call__(self, env):
        return datetime.datetime.today() >= self.time
Beispiel #5
0
class Randomly(Trigger, mixin.Single("probability")):
    """Trigger affects randomly."""
    def __call__(self, env):
        return random.random() < self.probability