""" """ from lesscpy.lessc import utility class Node(object): def __init__(self, p, ln): self.tokens = p self.lineno = ln def parse(self, scope): return self def process(self, tokens, scope): """ """ while True: tokens = list(utility.flatten(tokens)) done = True if any(t for t in tokens if hasattr(t, 'parse')): tokens = [t.parse(scope) if hasattr(t, 'parse') else t for t in tokens] done = False if any(t for t in tokens if utility.is_variable(t)): tokens = self.replace_variables(tokens, scope) done = False if done: break return tokens def replace_variables(self, tokens, scope): """ """ return [scope.swap(t) if utility.is_variable(t) else t for t in tokens] def format(self, fills): raise ValueError('No defined format')