"""
def max_equals(item):
- return max(k for k, m in table[item].iteritems() if m > 0)
+ s = [k for k, m in table[item].iteritems() if m > 0]
+ if len(s):
+ return max()
def min_equals(item):
- return min(k for k, m in table[item].iteritems() if m > 0)
+ s = [k for k, m in table[item].iteritems() if m > 0]
+ if len(s):
+ return min(s)
def plus_equals(item):
- return reduce(operator.add,
- [k*m for k, m in table[item].iteritems()])
+ s = [k*m for k, m in table[item].iteritems()]
+ if len(s):
+ return reduce(operator.add, s)
def times_equals(item):
- return reduce(operator.mul,
- [k**m for k, m in table[item].iteritems()])
+ s = [k**m for k, m in table[item].iteritems()]
+ if len(s):
+ return reduce(operator.mul, s)
def and_equals(item):
- return reduce(operator.and_,
- [k for k, m in table[item].iteritems() if m > 0])
+ s = [k for k, m in table[item].iteritems() if m > 0]
+ if len(s):
+ return reduce(operator.and_, s)
def or_equals(item):
- return reduce(operator.or_,
- [k for k, m in table[item].iteritems() if m > 0])
+ s = [k for k, m in table[item].iteritems() if m > 0]
+ if len(s):
+ return reduce(operator.or_, s)
# map names to functions
agg_defs = {
"""
Passes update to relevant handlers.
"""
+ if val is None:
+ return
(fn, _) = item
print 'dispatch', pretty(item), '=', val
for handler in register.handlers[fn]:
chart[fn].data[idx][-1] = now
- update_dispatcher(item, now)
+ if now is not None:
+ update_dispatcher(item, now)
def go():