From c6c0d6fe26698146c46573139ebe32d42e2af02b Mon Sep 17 00:00:00 2001 From: swistakm Date: Tue, 11 Jun 2013 13:37:01 +0200 Subject: [PATCH 1/8] add support for documenting generic filtering --- cigar_example/cigar_example/restapi/views.py | 4 +- rest_framework_docs/docs.py | 17 +++++++++ .../templates/rest_framework_docs/docs.html | 37 ++++++++++++++++++- 3 files changed, 56 insertions(+), 2 deletions(-) diff --git a/cigar_example/cigar_example/restapi/views.py b/cigar_example/cigar_example/restapi/views.py index 2830696..dffc3dd 100644 --- a/cigar_example/cigar_example/restapi/views.py +++ b/cigar_example/cigar_example/restapi/views.py @@ -12,7 +12,9 @@ class CigarList(ListCreateAPIView): model = Cigar """ This is the model """ serializer_class = CigarSerializer - + ordering = ("price", "length") + filter_fields = ("colour",) + search_fields = ("name", "manufacturer",) class CigarDetails(RetrieveUpdateDestroyAPIView): """ diff --git a/rest_framework_docs/docs.py b/rest_framework_docs/docs.py index d24c65b..c25302b 100644 --- a/rest_framework_docs/docs.py +++ b/rest_framework_docs/docs.py @@ -126,6 +126,9 @@ def __process_urlpatterns(self): doc.model = self.__get_model__(callback) doc.allowed_methods = self.__get_allowed_methods__(callback) doc.fields = self.__get_serializer_fields__(callback) + doc.filter_fields = self.__get_filter_fields__(callback) + doc.search_fields = self.__get_search_fields__(callback) + doc.ordering = self.__get_ordering__(callback) docs.append(doc) del(doc) # Clean up @@ -238,6 +241,18 @@ def __get_serializer_fields__(self, callback): return data + def __get_filter_fields__(self, callback): + """Gets filter fields if described in API view""" + return getattr(callback, 'filter_fields', None) + + def __get_search_fields__(self, callback): + """Gets search fields if described in API view""" + return getattr(callback, 'search_fields', None) + + def __get_ordering__(self, callback): + """Gets ordering fields if described in API view""" + return getattr(callback, 'ordering', None) + def __trim(self, docstring): """ Trims whitespace from docstring @@ -256,3 +271,5 @@ class ApiDocObject(object): params = [] allowed_methods = [] model = None + + diff --git a/rest_framework_docs/templates/rest_framework_docs/docs.html b/rest_framework_docs/templates/rest_framework_docs/docs.html index d761251..bea5ed4 100644 --- a/rest_framework_docs/templates/rest_framework_docs/docs.html +++ b/rest_framework_docs/templates/rest_framework_docs/docs.html @@ -99,7 +99,8 @@ if (details.is(':visible')) { details.hide() - $(this).parent().removeClass('selected') } else { + $(this).parent().removeClass('selected') + } else { $(this).parent().addClass('selected') details.show() } @@ -208,6 +209,40 @@

Fields:

{% endif %} + + {% if api.filter_fields %} +
  • + Filter fields: + [ + {% for field in api.filter_fields %} + {{ field }}{% if not forloop.last %},{% endif %} + {% endfor %} + ] +
  • + {% endif %} + + {% if api.search_fields %} +
  • + Search fields: + [ + {% for field in api.search_fields %} + {{ field }}{% if not forloop.last %},{% endif %} + {% endfor %} + ] +
  • + {% endif %} + + {% if api.ordering %} +
  • + Ordering: + [ + {% for field in api.ordering %} + {{ field }}{% if not forloop.last %},{% endif %} + {% endfor %} + ] +
  • + {% endif %} + From 660e2b90faa9c5c6f77a93e03143f1b19e58890e Mon Sep 17 00:00:00 2001 From: Pablo Leano Date: Wed, 19 Jun 2013 16:11:29 +0200 Subject: [PATCH 2/8] Flatten urls when manually specifying url patterns --- rest_framework_docs/docs.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rest_framework_docs/docs.py b/rest_framework_docs/docs.py index d24c65b..3dd07ae 100644 --- a/rest_framework_docs/docs.py +++ b/rest_framework_docs/docs.py @@ -24,6 +24,8 @@ def __init__(self, urlpatterns=None): """ if urlpatterns is None: urlpatterns = self.get_url_patterns() + else: + urlpatterns = self._flatten_patterns_tree(urlpatterns) self.urlpatterns = urlpatterns From 74f8781450962cd56631264a729c8ab60cd8cb77 Mon Sep 17 00:00:00 2001 From: Filipe Ximenes Date: Thu, 22 Aug 2013 00:43:49 -0300 Subject: [PATCH 3/8] fixing AttributeError on __get_serializer_fields__ for simple cases #19 --- rest_framework_docs/docs.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/rest_framework_docs/docs.py b/rest_framework_docs/docs.py index d24c65b..8dfad6e 100644 --- a/rest_framework_docs/docs.py +++ b/rest_framework_docs/docs.py @@ -7,6 +7,8 @@ from django.core.urlresolvers import RegexURLResolver, RegexURLPattern from rest_framework.views import APIView from itertools import groupby +from django.test.client import RequestFactory +from django.contrib.auth import get_user_model class DocumentationGenerator(): @@ -216,10 +218,15 @@ def __get_serializer_fields__(self, callback): if not hasattr(callback, 'get_serializer_class'): return data + factory = RequestFactory() + request = factory.get('') + request.user = get_user_model()() + if hasattr(callback, '__call__'): - serializer = callback().get_serializer_class() - else: - serializer = callback.get_serializer_class() + callback = callback() + + callback.request = request + serializer = callback.get_serializer_class() try: fields = serializer().get_fields() From 7113963c986e66f8e13c727df90a2bb9a0d0df8c Mon Sep 17 00:00:00 2001 From: Marc Gibbons Date: Fri, 6 Sep 2013 00:07:21 -0400 Subject: [PATCH 4/8] updated readme --- README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 151b278..8ae57db 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ =========================== -Rest Framework Docs (0.1.6) +Rest Framework Docs (0.1.7) =========================== Rest Framework Docs is an application built to produce an inventory @@ -12,7 +12,7 @@ From pip: pip install django-rest-framework-docs From the source: -- Download the tarball: django-rest-framework-docs-0.1.6.tar.gz +- Download the tarball: django-rest-framework-docs-0.1.7.tar.gz - Extract files - Run python setup.py install @@ -133,6 +133,10 @@ Many thanks to Tom Christie for developing the Django Rest Framework - a tool I Release Notes ------------- +### v.0.1.7 (Sept 5, 2013) +- Added filtering & ordering +- URL flattening & custom serializer fixes + ### v.0.1.6 (June 5, 2013) - Bugfix when url patterns property 'name' is None @@ -169,6 +173,8 @@ Contributors - @swistakm - Peter Baumgartner (@ipmb) - Marlon Bailey (@avinash240) +- @filipeximenes +- @pleasedontbelong License -------- From 6d2d5affaeabb122d9c39414d15d7223bdabb25d Mon Sep 17 00:00:00 2001 From: Marc Gibbons Date: Fri, 6 Sep 2013 00:08:13 -0400 Subject: [PATCH 5/8] Bumped version --- rest_framework_docs/__init__.py | 2 +- setup.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/rest_framework_docs/__init__.py b/rest_framework_docs/__init__.py index 2fb2513..124e462 100644 --- a/rest_framework_docs/__init__.py +++ b/rest_framework_docs/__init__.py @@ -1 +1 @@ -__version__ = '0.1.6' +__version__ = '0.1.7' diff --git a/setup.py b/setup.py index ecaae85..5d3debd 100644 --- a/setup.py +++ b/setup.py @@ -21,8 +21,8 @@ setup( name='django-rest-framework-docs', - version='0.1.6', - download_url='https://github.com/marcgibbons/django-rest-framework-docs/raw/master/dist/django-rest-framework-docs-0.1.6.tar.gz', + version='0.1.7', + download_url='https://github.com/marcgibbons/django-rest-framework-docs/raw/master/dist/django-rest-framework-docs-0.1.7.tar.gz', packages=['rest_framework_docs'], package_data={'rest_framework_docs': ['templates/rest_framework_docs/*']}, include_package_data=True, From 517830b274bc1872a0037838f9497cd2d6a50e7d Mon Sep 17 00:00:00 2001 From: Marc Gibbons Date: Fri, 6 Sep 2013 00:09:18 -0400 Subject: [PATCH 6/8] added dist --- dist/django-rest-framework-docs-0.1.7.tar.gz | Bin 0 -> 9489 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 dist/django-rest-framework-docs-0.1.7.tar.gz diff --git a/dist/django-rest-framework-docs-0.1.7.tar.gz b/dist/django-rest-framework-docs-0.1.7.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..7f7f3ce5a390e8228c3ae513fa96332485b04825 GIT binary patch literal 9489 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 Date: Fri, 6 Sep 2013 00:24:48 -0400 Subject: [PATCH 7/8] removed git hosting --- setup.py | 1 - 1 file changed, 1 deletion(-) diff --git a/setup.py b/setup.py index 5d3debd..d5b4b9d 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,6 @@ setup( name='django-rest-framework-docs', version='0.1.7', - download_url='https://github.com/marcgibbons/django-rest-framework-docs/raw/master/dist/django-rest-framework-docs-0.1.7.tar.gz', packages=['rest_framework_docs'], package_data={'rest_framework_docs': ['templates/rest_framework_docs/*']}, include_package_data=True, From d09e83849f4a0f296f2361094d09f529c4a2fbb1 Mon Sep 17 00:00:00 2001 From: Marc Gibbons Date: Sun, 24 Nov 2013 09:43:46 -0500 Subject: [PATCH 8/8] Update README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 8ae57db..dc60419 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,6 @@ +## ** This package is no longer being maintained ** +## Please use [Django REST Swagger](https://github.com/marcgibbons/django-rest-swagger) + =========================== Rest Framework Docs (0.1.7) =========================== @@ -5,6 +8,7 @@ Rest Framework Docs (0.1.7) Rest Framework Docs is an application built to produce an inventory and documentation for your Django Rest Framework v2 endpoints. + Installation ------------ From pip: