Code

Ticket #195: date_based_callable_context.patch

File date_based_callable_context.patch, 2.2 KB (added by Moof <moof@…>, 9 years ago)

Patch against r304 of date_based.py

  • date_based.py

     
    4141        'date_list' : date_list, 
    4242        'latest' : latest, 
    4343    }) 
    44     if extra_context: 
    45         c.update(extra_context) 
     44    if extra_context: 
     45        for key, value in extra_context.items(): 
     46            if callable(value): 
     47                c[key] = value() 
     48            else: 
     49                c[key] = value 
    4650    return HttpResponse(t.render(c)) 
    4751 
    4852def archive_year(request, year, app_label, module_name, date_field,  
     
    7579        'year': year, 
    7680    }) 
    7781    if extra_context: 
    78         c.update(extra_context) 
     82        for key, value in extra_context.items(): 
     83            if callable(value): 
     84                c[key] = value() 
     85            else: 
     86                c[key] = value 
    7987    return HttpResponse(t.render(c)) 
    8088 
    8189def archive_month(request, year, month, app_label, module_name, date_field,  
     
    122130        'month': date, 
    123131    }) 
    124132    if extra_context: 
    125         c.update(extra_context) 
     133        for key, value in extra_context.items(): 
     134            if callable(value): 
     135                c[key] = value() 
     136            else: 
     137                c[key] = value 
    126138    return HttpResponse(t.render(c)) 
    127139 
    128140def archive_day(request, year, month, day, app_label, module_name, date_field,  
     
    168180        'next_day': (date < datetime.date.today()) and (date + datetime.timedelta(days=1)) or None, 
    169181    }) 
    170182    if extra_context: 
    171         c.update(extra_context) 
     183        for key, value in extra_context.items(): 
     184            if callable(value): 
     185                c[key] = value() 
     186            else: 
     187                c[key] = value 
    172188    return HttpResponse(t.render(c)) 
    173189 
    174190def archive_today(request, **kwargs): 
     
    228244        'object': object, 
    229245    }) 
    230246    if extra_context: 
    231         c.update(extra_context) 
     247        for key, value in extra_context.items(): 
     248            if callable(value): 
     249                c[key] = value() 
     250            else: 
     251                c[key] = value 
    232252    response = HttpResponse(t.render(c)) 
    233253    populate_xheaders(request, response, app_label, module_name, getattr(object, object._meta.pk.name)) 
    234254    return response