"multiple values for keyword argument" error

7 views
Skip to first unread message

James Utter

unread,
Dec 4, 2007, 2:25:02 AM12/4/07
to django...@googlegroups.com
Hi,

I've written some code which is meant to wrap around the date based
generic views. For some reason, it fails with the following error:
TypeError at /news/2007/
archive_year() got multiple values for keyword argument 'year'

Here is the contents of my wrapper function. It returns the error even
with all of the processing code commented out (as shown below). The same
code can be found at http://dpaste.com/26695/ if it doesn't display
correctly.

-------------------------------------------
from django.views.generic import date_based

def generic_view_wrapper(request, queryset, view, extra_context={},
*args, **kwargs):
"""Wrapper around django.views.generic
Checks request to see if the user is staff, and applies appropriate
filters
depending on session variables.
"""
# queryset = queryset._clone()
# if not request.user.is_staff:
# queryset = queryset.filter(status=queryset.model.LIVE_STATUS)
# return view(request, queryset, extra_context=extra_context,
*args, **kwargs)
# else:
# qdict = {"all": queryset,
# "drafts":
queryset.exclude(status=queryset.model.HIDDEN_STATUS),
# "live":
queryset.filter(status=queryset.model.LIVE_STATUS),}
# status = request.session.get("show", "drafts")
# extra_context["session_show"] = status
# return view(request, qdict[status],
extra_context=extra_context, *args, **kwargs)
return view(request, queryset, extra_context=extra_context, *args,
**kwargs) # TypeError occurs here.

def archive_index(request, queryset, *args, **kwargs):
view = date_based.archive_index
return generic_view_wrapper(request, queryset, view, *args,
**kwargs)

def archive_day(request, queryset, *args, **kwargs):
view = date_based.archive_day
return generic_view_wrapper(request, queryset, view, *args,
**kwargs)

def archive_month(request, queryset, *args, **kwargs):
view = date_based.archive_month
return generic_view_wrapper(request, queryset, view, *args,
**kwargs)

def archive_year(request, queryset, *args, **kwargs):
view = date_based.archive_year
return generic_view_wrapper(request, queryset, view, *args,
**kwargs)

def object_detail(request, queryset, *args, **kwargs):
view = date_based.object_detail
return generic_view_wrapper(request, queryset, view, *args,
**kwargs)


-------------------
Thanks, James Utter

Reply all
Reply to author
Forward
0 new messages