aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/views.py
diff options
context:
space:
mode:
authorTom Christie2013-08-19 08:24:27 +0100
committerTom Christie2013-08-19 08:24:27 +0100
commit89b0a539c389477cfd7df7df461868b85f618d95 (patch)
tree3b37dd82a657d92a06a229175253dc88c6c8f7f9 /rest_framework/views.py
parenta8aabe23c94b1281ac8ca752a09555c1b0ef163d (diff)
downloaddjango-rest-framework-89b0a539c389477cfd7df7df461868b85f618d95.tar.bz2
Move view name/description functions into public space
Diffstat (limited to 'rest_framework/views.py')
-rw-r--r--rest_framework/views.py21
1 files changed, 20 insertions, 1 deletions
diff --git a/rest_framework/views.py b/rest_framework/views.py
index 4553714a..431e21f9 100644
--- a/rest_framework/views.py
+++ b/rest_framework/views.py
@@ -8,10 +8,29 @@ from django.http import Http404
from django.utils.datastructures import SortedDict
from django.views.decorators.csrf import csrf_exempt
from rest_framework import status, exceptions
-from rest_framework.compat import View, HttpResponseBase
+from rest_framework.compat import smart_text, HttpResponseBase, View
from rest_framework.request import Request
from rest_framework.response import Response
from rest_framework.settings import api_settings
+from rest_framework.utils import formatting
+
+
+def get_view_name(instance, view, suffix=None):
+ name = view.__name__
+ name = formatting.remove_trailing_string(name, 'View')
+ name = formatting.remove_trailing_string(name, 'ViewSet')
+ name = formatting.camelcase_to_spaces(name)
+ if suffix:
+ name += ' ' + suffix
+
+ return name
+
+def get_view_description(instance, view, html=False):
+ description = view.__doc__ or ''
+ description = formatting.dedent(smart_text(description))
+ if html:
+ return formatting.markup_description(description)
+ return description
class APIView(View):