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 ''
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