From fd43a6f023967f53ddf0968d8b2395c0d79f7454 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C5=81ukasz=20Anwajler?= Date: Wed, 23 Feb 2011 15:48:46 -0800 Subject: [PATCH] API: handlers --- apps/api/handlers.py | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/apps/api/handlers.py b/apps/api/handlers.py index 40121d6af..ac47ac60d 100644 --- a/apps/api/handlers.py +++ b/apps/api/handlers.py @@ -1,17 +1,37 @@ # -*- coding: utf-8 -*- # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. -# from django.shortcuts import get_object_or_404 from django.contrib.auth.decorators import login_required, user_passes_test from piston.handler import BaseHandler from piston.utils import rc, validate -from catalogue.models import Book +from catalogue.models import Book, Tag from catalogue.forms import BookImportForm +from catalogue.views import tagged_object_list +class TagHandler(BaseHandler): + allowed_methods = ('GET',) + model = Tag -staff_required = user_passes_test(lambda user: user.is_staff) + def read(self, request, tags=''): + if tags == '': + return Tag.objects.all() + else: + return tagged_object_list(request, tags, api=True) + +class BookHandler(BaseHandler): + model = Book + #fields = ('slug', 'title') + + def read(self, request, slug=None): + if slug: + return get_object_or_404(Book, slug=slug) + else: + return Book.objects.all() +# old +""" +staff_required = user_passes_test(lambda user: user.is_staff) class BookHandler(BaseHandler): model = Book @@ -32,4 +52,4 @@ class BookHandler(BaseHandler): return rc.CREATED else: return rc.BAD_REQUEST - +""" \ No newline at end of file -- 2.20.1