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


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to