diff options
Diffstat (limited to 'lib/python/Components/Sources/Boolean.py')
| -rw-r--r-- | lib/python/Components/Sources/Boolean.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/python/Components/Sources/Boolean.py b/lib/python/Components/Sources/Boolean.py new file mode 100644 index 00000000..c25b4626 --- /dev/null +++ b/lib/python/Components/Sources/Boolean.py @@ -0,0 +1,25 @@ +from Source import Source +from enigma import eTimer + +# a small warning: +# you can use that boolean well to express screen-private +# conditional expressions. +# +# however, if you think that there is ANY interest that another +# screen could use your expression, please put your calculation +# into a seperate Source, providing a "boolean"-property. +class Boolean(Source, object): + def __init__(self, fixed = False, function = None, poll = 0): + Source.__init__(self) + if poll > 0: + self.poll_timer = eTimer() + self.poll_timer.timeout.get().append(self.changed) + self.poll_timer.start(poll) + + def getBoolean(self): + if self.function is not None: + return self.function() + else: + return self.fixed + + boolean = property(getBoolean) |
