def collect_variables(self): # args[9] is the "link" argument # if self.args.link is None: if self.args[9] is None: return FilteredExpression.collect_variables(self) else: # in this case, it's tricky return set()
def collect_variables(self, context): variables = FilteredExpression.collect_variables(self, context) if self.expressions and self.link is None: variables |= set.union(*[collect_variables(expr, context) for expr in self.expressions]) variables |= collect_variables(self.need, context) variables |= collect_variables(self.take_filter, context) variables |= collect_variables(self.leave_filter, context) return variables
def traverse(self, context): for node in FilteredExpression.traverse(self, context): yield node for expr in self.expressions: for node in traverse_expr(expr, context): yield node for node in traverse_expr(self.need, context): yield node for node in traverse_expr(self.take_filter, context): yield node for node in traverse_expr(self.leave_filter, context): yield node yield self
def __init__(self, expr, filter=None, skip_na=True): FilteredExpression.__init__(self, expr, filter) self.skip_na = skip_na
def __init__(self, varname, regime, expr=None, filter=None, yearleg=None): FilteredExpression.__init__(self, expr, filter) self.varname = varname self.regime = regime self.yearleg = yearleg