diff options
| author | Christopher Paolini | 2013-08-16 13:23:04 -0400 | 
|---|---|---|
| committer | Christopher Paolini | 2013-08-16 13:23:04 -0400 | 
| commit | a95984e4d4b034c196d40f74fbdc6345e6d4124c (patch) | |
| tree | 794063fa0503b5d8b39010c4a7c98eb5421c8264 | |
| parent | d07dae6e79d53fdcfc7d88e085fe7e6da97c9c74 (diff) | |
| download | django-rest-framework-a95984e4d4b034c196d40f74fbdc6345e6d4124c.tar.bz2 | |
Settings now have default functions
Updated the setting to have a default function.
| -rw-r--r-- | rest_framework/settings.py | 6 | ||||
| -rw-r--r-- | rest_framework/utils/formatting.py | 46 | 
2 files changed, 24 insertions, 28 deletions
diff --git a/rest_framework/settings.py b/rest_framework/settings.py index b65e42cf..0b2bdb62 100644 --- a/rest_framework/settings.py +++ b/rest_framework/settings.py @@ -70,8 +70,8 @@ DEFAULTS = {      'PAGINATE_BY_PARAM': None,      # View configuration -    'VIEW_NAME_FUNCTION': None, -    'VIEW_DESCRIPTION_FUNCTION': None, +    'VIEW_NAME_FUNCTION': 'rest_framework.utils.formatting.view_name', +    'VIEW_DESCRIPTION_FUNCTION': 'rest_framework.utils.formatting.view_description',      # Authentication      'UNAUTHENTICATED_USER': 'django.contrib.auth.models.AnonymousUser', @@ -129,6 +129,8 @@ IMPORT_STRINGS = (      'TEST_REQUEST_RENDERER_CLASSES',      'UNAUTHENTICATED_USER',      'UNAUTHENTICATED_TOKEN', +    'VIEW_NAME_FUNCTION', +    'VIEW_DESCRIPTION_FUNCTION'  ) diff --git a/rest_framework/utils/formatting.py b/rest_framework/utils/formatting.py index c908ce66..4f59f659 100644 --- a/rest_framework/utils/formatting.py +++ b/rest_framework/utils/formatting.py @@ -49,39 +49,15 @@ def _camelcase_to_spaces(content):  def get_view_name(cls, suffix=None):      """      Return a formatted name for an `APIView` class or `@api_view` function. -    If a VIEW_NAME_FUNCTION is set in settings the value of that will be used -        if that value is "falsy" then the normal formatting will be used.      """ -    if api_settings.VIEW_NAME_FUNCTION: -        name = api_settings.VIEW_NAME_FUNCTION(cls, suffix) -        if name: -            return name - -    name = cls.__name__ -    name = _remove_trailing_string(name, 'View') -    name = _remove_trailing_string(name, 'ViewSet') -    name = _camelcase_to_spaces(name) -    if suffix: -        name += ' ' + suffix -    return name +    return api_settings.VIEW_NAME_FUNCTION(cls, suffix)  def get_view_description(cls, html=False):      """      Return a description for an `APIView` class or `@api_view` function. -    If a VIEW_DESCRIPTION_FUNCTION is set in settings the value of that will be used -        if that value is "falsy" then the normal formatting will be used.      """ -    if api_settings.VIEW_DESCRIPTION_FUNCTION: -        description = api_settings.VIEW_DESCRIPTION_FUNCTION(cls) -        if description: -            return markup_description(description) - -    description = cls.__doc__ or '' -    description = _remove_leading_indent(smart_text(description)) -    if html: -        return markup_description(description) -    return description +    return api_settings.VIEW_DESCRIPTION_FUNCTION(cls)  def markup_description(description): @@ -93,3 +69,21 @@ def markup_description(description):      else:          description = escape(description).replace('\n', '<br />')      return mark_safe(description) + + +def view_name(cls, suffix=None): +    name = cls.__name__ +    name = _remove_trailing_string(name, 'View') +    name = _remove_trailing_string(name, 'ViewSet') +    name = _camelcase_to_spaces(name) +    if suffix: +        name += ' ' + suffix + +    return name + +def view_description(cls, html=False): +    description = cls.__doc__ or '' +    description = _remove_leading_indent(smart_text(description)) +    if html: +        return markup_description(description) +    return description
\ No newline at end of file  | 
