Removed unused code, cleaned up field names

This commit is contained in:
Oscar Vilaplana 2013-05-25 15:20:01 +02:00
parent ff55b71b83
commit f85d891238
4 changed files with 16 additions and 25 deletions

View File

@ -72,18 +72,6 @@ def readable_date_formats(formats):
return humanize_strptime(format)
def humanize_form_fields(form):
"""Return a humanized description of all the fields in a form.
:param form: A Django form.
:return: A dictionary of {field_label: humanized description}
"""
fields = SortedDict([(name, humanize_field(field))
for name, field in form.fields.iteritems()])
return fields
def readable_time_formats(formats):
format = ', '.join(formats).replace(ISO_8601, 'hh:mm[:ss[.uuuuuu]]')
return humanize_strptime(format)
@ -204,9 +192,10 @@ class Field(object):
@property
def humanized(self):
humanized = {
'type': self.type_name,
'required': getattr(self, 'required', False),
}
if self.type_name is not None:
humanized['type'] = self.type_name.replace('Field', '')
optional_attrs = ['read_only', 'help_text', 'label',
'min_length', 'max_length']
for attr in optional_attrs:

View File

@ -8,14 +8,13 @@ from decimal import Decimal
from uuid import uuid4
import datetime
from django import forms
from django.core import validators
from django.db import models
from django.test import TestCase
from django.utils.datastructures import SortedDict
from rest_framework import serializers
from rest_framework.fields import Field, CharField
from rest_framework.fields import Field, CharField, IntegerField
from rest_framework.serializers import Serializer
from rest_framework.tests.models import RESTFrameworkModel
@ -827,16 +826,21 @@ class URLFieldTests(TestCase):
class HumanizedField(TestCase):
def setUp(self):
self.required_field = Field()
self.required_field.type_name = 'IntegerField'
self.required_field.label = uuid4().hex
self.required_field.required = True
self.optional_field = Field()
self.optional_field.type_name = 'CharField'
self.optional_field.label = uuid4().hex
self.optional_field.required = False
self.integer_field = IntegerField()
self.char_field = CharField()
def test_type(self):
for field in (self.required_field, self.optional_field):
self.assertEqual(field.humanized['type'], field.type_name)
self.assertEqual(self.char_field.humanized['type'], 'Char')
self.assertEqual(self.integer_field.humanized['type'], 'Integer')
def test_required(self):
self.assertEqual(self.required_field.humanized['required'], True)
@ -863,11 +867,11 @@ class HumanizedSerializer(TestCase):
expected = {
'field1': {u'required': True,
u'max_length': 3,
u'type': u'CharField',
u'type': u'Char',
u'read_only': False},
'field2': {u'required': False,
u'max_length': 10,
u'type': u'CharField',
u'type': u'Char',
u'read_only': False}}
self.assertEqual(set(expected.keys()), set(humanized.keys()))
for k, v in humanized.iteritems():

View File

@ -130,12 +130,12 @@ class TestRootView(TestCase):
'max_length': 100,
'read_only': False,
'required': True,
'type': 'CharField',
'type': 'Char',
},
'id': {
'read_only': True,
'required': False,
'type': 'IntegerField',
'type': 'Integer',
},
}
self.assertEqual(response.status_code, status.HTTP_200_OK)
@ -264,12 +264,12 @@ class TestInstanceView(TestCase):
'max_length': 100,
'read_only': False,
'required': True,
'type': 'CharField',
'type': 'Char',
},
'id': {
'read_only': True,
'required': False,
'type': 'IntegerField',
'type': 'Integer',
},
}
self.assertEqual(response.status_code, status.HTTP_200_OK)

View File

@ -9,7 +9,6 @@ from django.views.decorators.csrf import csrf_exempt
from rest_framework import status, exceptions
from rest_framework.compat import View
from rest_framework.fields import humanize_form_fields
from rest_framework.request import clone_request, Request
from rest_framework.response import Response
from rest_framework.settings import api_settings
@ -62,7 +61,6 @@ class APIView(View):
'parses': [parser.media_type for parser in self.parser_classes],
}
content['actions'] = self.action_metadata(request)
return content
def action_metadata(self, request):