예제 #1
0
파일: gtools.py 프로젝트: gdjet/gdjet
 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 ''
예제 #2
0
파일: paginator.py 프로젝트: gdjet/gdjet
 def intervals(self):
     if not self.__intervals:
         args = {
             'total': self.pages_num,
             'actual': self.actual, # first=1 around=4 last=1 breakpoint=9 fill=9
             'first': 1,
             'around': 4,
             'last': 1,
             'breakpoint': 9,
             'fill': 9,
                 }
         args.update(self.kwargs)
         self.__intervals = number_intervals(**args)     
     return self.__intervals