Esempio n. 1
0
    def render(self, context, arg=None):       

        part = context.get(self.function)
        if arg:
            part = partial(part.func, *((arg,) + part.args))
        
        result = part()
        logger.debug("function: name %s args %s result %s", self.function, [arg, part.args], result)
        return result
Esempio n. 2
0
 def render(self, context, aggregator): 
     
     """
     Объект context имеет т.н. модификаторы,
     которые применяются динамически в процессе отрисовки
     только к определенному типу токенов. В данном случае
     к объекту Context идет запрос на обработку текста
     модификаторами, применимыми к TextChunk
     """
     logger.debug(self.value)
     aggregator.append(self.value)
Esempio n. 3
0
 def render(self, context, aggregator,addToAggr=True):
     """Процедура отрисовки цепочки.
     После отрисовки всех звеньев на результат применяются
     модификаторы"""
     result = self.value.render(context)
     for function in self.children:
         result = function.render(context, result)
 
     logger.debug("chain: result %s", str(result))
     if addToAggr:
         aggregator.append(str(result))
     return result
Esempio n. 4
0
 def render(self, context):    
     
     logger.debug("value: context %s typeof %s", context, type(context))
     value = str(context.get(self.value))
     logger.debug("value: name '%s'; value '%s'", self.value, value)
     return value