X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/10510d28f980e9a61bdd2b5471e78eec872952ba..ae60b2a3949e96357477cc04f90fd0873cee8a92:/apps/api/handlers.py diff --git a/apps/api/handlers.py b/apps/api/handlers.py deleted file mode 100644 index ce29c61cc..000000000 --- a/apps/api/handlers.py +++ /dev/null @@ -1,49 +0,0 @@ -# -*- 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 functools import wraps - -from django.shortcuts import get_object_or_404 -from django.contrib.auth.decorators import login_required, permission_required -from piston.handler import BaseHandler -from piston.utils import rc, validate -from catalogue.models import Book -from catalogue.forms import BookImportForm - - -def method_decorator(function_decorator): - """ - Turns a function(*args, **kwargs) decorator into an - equivalent decorator for method(self, *args, **kwargs). - """ - @wraps(function_decorator) - def decorator(method): - @wraps(method) - def decorated_method(self, *args, **kwargs): - def method_as_function(*fargs, **fkwargs): - return method(self, *fargs, **fkwargs) - return function_decorator(method_as_function)(*args, **kwargs) - return decorated_method - return decorator - - -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() - - @method_decorator(permission_required('catalogue.add_book')) - def create(self, request): - form = BookImportForm(request.POST, request.FILES) - if form.is_valid(): - form.save() - return rc.CREATED - else: - return rc.BAD_REQUEST -