Ejemplo n.º 1
0
 def render(self, context):
     if not self.var_args or not self.var_asname:
         return ''
     if isinstance( self.var_args, list ):
         args =[]
         for attr in self.var_args:
             num = retrieve_value ( attr, context, 0 )
             try:
                 num = int(num)
             except:
                 num = 0
             args += [ num ]
         try:
             ret = number_intervals( *args )
         except:
             raise template.TemplateSyntaxError, \
                     'Wrong Arguments for intervals: %s' % ','.join( args )
     else:
         kwargs = {}
         args = args_split_list( self.var_args, single_no_list = True )
         for k, value in args.iteritems():
             try:
                 num = int( retrieve_value( value, context, 0 ) )
             except:
                 num = 0
             kwargs[k] = num
         try:
             ret = number_intervals(**kwargs)
         except:
             raise template.TemplateSyntaxError, \
                 'Wrong Arguments for intervals (keybased): %s' % kwargs                
     context[self.var_asname] = ret
     return ''
Ejemplo n.º 2
0
 def render(self, context):
     if not self.var_name:
         return ''
     #if context.has_key(self.var_name):
     #    raise Exception( "context: %s" % context )        
     context[self.var_name] = retrieve_value ( self.var_value, context )
     return ''
Ejemplo n.º 3
0
 def render(self, context):
     if not self.args or not self.name or not self.list_object:
         raise template.TemplateSyntaxError, "You need arguments for pagination."
         return ''
     list_object = retrieve_value( self.list_object, context, None )
     if list_object is None:
         raise template.TemplateSyntaxError, "No List object to paginate."
     kwargs = {}
     args = args_split_list( self.args, single_no_list = True )
     for k, value in args.iteritems():
         try:
             num = int( retrieve_value( value, context, 0 ) )
         except:
             num = 0
         kwargs[k] = num
     try:
         ret = Pagination( list_object, **kwargs )
     except Exception, e:
         print e
         raise template.TemplateSyntaxError, \
                 'Wrong Arguments for intervals (keybased): %s (nested exception: %s)' % (kwargs, e)                
Ejemplo n.º 4
0
Archivo: gmath.py Proyecto: gdjet/gdjet
 def render(self, context):
     if not self.var_name:
         return ''
     try:
         sum = float( retrieve_value( self.var_name, context)  )
     except:
         raise
     try:
         percent = int( retrieve_value ( self.var_value, context ) )
     except:
         raise
     psum = ( sum * percent / 100.0 )
     
     if not self.raw:
         sum = sum + psum
     else:
         sum = psum
     
     if self.var_newvar:
         context[self.var_newvar] = sum 
     else:
         return sum
     return ''
Ejemplo n.º 5
0
 def render(self, context):
     if not self.var_name:
         return ''
     v = retrieve_value( self.var_name, context )
     to, fr = None, None
     if self.var_to:
         to = retrieve_value( self.var_to, context )
     if self.var_from:
         fr = retrieve_value ( self.var_from, context )
     
     if to is not None and fr is not None:
         s = v[fr:to]
     elif fr is not None:
         s = v[fr:]
     elif to is not None:
         s = v[:to]
     else:
         s = v[:]
     
     if self.var_newname:
         context[self.var_newname] = s
     else:
         context[self.var_name ] = s
     return ''
Ejemplo n.º 6
0
 def render(self, context):
     if not self.var_name:
         return ''
     what = self.var_name
     attrname = retrieve_value ( self.var_attr, context )
     try:
         v = template.Variable("%s.%s" % (self.var_name, attrname) ).resolve(context)
         if callable(v):
             v = v()
         if self.var_new:
             context[self.var_new] = v 
         else:
             return template.Variable("%s.%s" % (what, attrname) ).resolve(context)
     except:
         raise Exception("%s %s %s" % (self.var_name, self.var_attr, self.var_new) )
     return ''