add DiffusionManager, use it

This commit is contained in:
bkfox
2016-07-18 16:27:09 +02:00
parent d3e05211c3
commit 6b7255112d
6 changed files with 108 additions and 71 deletions

View File

@@ -93,7 +93,7 @@ class DetailRoute(Route):
@classmethod
def get_object(cl, model, request, pk, **kwargs):
"""
* request is optional
* request: optional
"""
return model.objects.get(pk = int(pk))
@@ -107,7 +107,7 @@ class AllRoute(Route):
@classmethod
def get_queryset(cl, model, request, **kwargs):
"""
* request is optional
* request: optional
"""
return model.objects.all()
@@ -147,7 +147,7 @@ class ThreadRoute(Route):
@classmethod
def get_queryset(cl, model, request, thread_model, pk, **kwargs):
"""
* request is optional
* request: optional
"""
thread = cl.get_thread(model, thread_model, pk)
return model.get_siblings(thread_model = thread, thread_id = pk)
@@ -176,15 +176,17 @@ class DateRoute(Route):
]
@classmethod
def get_queryset(cl, model, request, year, month, day, **kwargs):
def get_queryset(cl, model, request, year, month, day,
attr='date', **kwargs):
"""
* request is optional
* request: optional
* attr: name of the attribute to check the date against
"""
return model.objects.filter(
date__year = int(year),
date__month = int(month),
date__day = int(day),
)
return model.objects.filter(**{
attr + '__year': int(year),
attr + '__month': int(month),
attr + '__day': int(day)
})
@classmethod
def get_title(cl, model, request, year, month, day, **kwargs):
@@ -208,7 +210,7 @@ class SearchRoute(Route):
@classmethod
def get_queryset(cl, model, request, q = None, **kwargs):
"""
* request is required if q is None
* request: required if q is None
"""
q = request.GET.get('q') or q or ''
qs = None