From: Łukasz Anwajler Date: Wed, 23 Feb 2011 23:48:46 +0000 (-0800) Subject: API: handlers X-Git-Url: https://git.mdrn.pl/wolnelektury.git/commitdiff_plain/fd43a6f023967f53ddf0968d8b2395c0d79f7454?ds=inline;hp=-c API: handlers --- fd43a6f023967f53ddf0968d8b2395c0d79f7454 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