From 67214c002e8c9fb5cc760644004512a539cfdbf7 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Tue, 21 Jul 2015 12:44:11 +0100 Subject: [PATCH] Refactor away .get_model --- wagtail/contrib/wagtailapi/endpoints.py | 31 +++++++++++-------------- 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/wagtail/contrib/wagtailapi/endpoints.py b/wagtail/contrib/wagtailapi/endpoints.py index 3164ec62f..0652cb3a9 100644 --- a/wagtail/contrib/wagtailapi/endpoints.py +++ b/wagtail/contrib/wagtailapi/endpoints.py @@ -137,7 +137,18 @@ class PagesAPIEndpoint(BaseAPIEndpoint): ] serializer_class = PageSerializer - def get_queryset(self, request, model=Page): + def get_queryset(self, request): + if 'type' not in request.GET: + model = Page + else: + model_name = request.GET['type'] + try: + model = resolve_model_string(model_name) + except LookupError: + raise BadRequestError("type doesn't exist") + if not issubclass(model, Page): + raise BadRequestError("type doesn't exist") + # Get live pages that are not in a private section queryset = model.objects.public().live() @@ -146,25 +157,9 @@ class PagesAPIEndpoint(BaseAPIEndpoint): return queryset - def get_model(self, request): - if 'type' not in request.GET: - return Page - - model_name = request.GET['type'] - try: - model = resolve_model_string(model_name) - - if not issubclass(model, Page): - raise BadRequestError("type doesn't exist") - - return model - except LookupError: - raise BadRequestError("type doesn't exist") - def listing_view(self, request): # Get model and queryset - model = self.get_model(request) - queryset = self.get_queryset(request, model=model) + queryset = self.get_queryset(request) # Check query paramters self.check_query_parameters(request, queryset)