コード例 #1
0
 def test_get_title(self):
     """
     Tests formatting of title string:
      - Removes dashes and underscores
      - Puts in title case
     """
     endpoint = url(r'^/?$', 'url', name='my_api-documentation')
     obj = DocumentationGenerator()
     result = obj.__get_title__(endpoint)
     self.assertEquals('My Api Documentation', result)
コード例 #2
0
 def test_get_title(self):
     """
     Tests formatting of title string:
      - Removes dashes and underscores
      - Puts in title case
     """
     endpoint = url(r'^/?$', 'url', name='my_api-documentation')
     obj = DocumentationGenerator()
     result = obj.__get_title__(endpoint)
     self.assertEquals('My Api Documentation', result)
コード例 #3
0
    def test_parse_docstring(self):
        docstring = """
        This is my description

        myvar1 -- a beautiful var
        """
        obj = DocumentationGenerator()
        docstring_meta = obj.__parse_docstring__(docstring)

        self.assertEquals([['myvar1', 'a beautiful var']],
                          docstring_meta['params'])
        self.assertEquals('This is my description\n\n',
                          docstring_meta['description'])
コード例 #4
0
    def test_parse_docstring(self):
        docstring = """
        This is my description

        myvar1 -- a beautiful var
        """
        obj = DocumentationGenerator()
        docstring_meta = obj.__parse_docstring__(docstring)

        self.assertEquals([['myvar1', 'a beautiful var']],
                          docstring_meta['params'])
        self.assertEquals('This is my description\n\n',
                          docstring_meta['description'])
コード例 #5
0
    def __get_serializer_fields__(self, callback):

        data = []
        if not hasattr(callback, 'get_serializer_class'):
            return data

        if hasattr(callback, '__call__'):
            serializer = callback().get_serializer_class()
        else:
            serializer = callback.get_serializer_class()

        try:
            _serializer = serializer()
            fields = _serializer.get_fields()
            if hasattr(_serializer, 'get_additional_fields'):
                fields.update(_serializer.get_additional_fields())
        except:
            _serializer = serializer(None)
            fields = _serializer.get_fields()
            if hasattr(_serializer, 'get_additional_fields'):
                fields.update(_serializer.get_additional_fields())

        for name, field in fields.items():
            field_data = dict()

            field_data['type'] = DocumentationGenerator._DocumentationGenerator__camelcase_to_spaces(self,
                                                                                                     field.__class__.__name__)
            for key in ('help_text', 'default'):#('read_only', 'default', 'max_length', 'min_length'):
                if hasattr(field, key):
                    field_data[key] = self.__cut(getattr(field, key))

            data.append({name: field_data})
        return data
コード例 #6
0
 def get(self, *args, **kwargs):
     docs = DocumentationGenerator().get_docs()
     return Response(json.loads(docs))
コード例 #7
0
 def test_urls(self):
     obj = DocumentationGenerator()
     obj.get_url_patterns()
コード例 #8
0
def documentation(request, *args, **kwargs):
    docs = DocumentationGenerator().get_docs(as_objects=True)
    return render_to_response("rest_framework_docs/docs.html", {'docs': docs},
                              context_instance=RequestContext(request))
コード例 #9
0
 def test_urls(self):
     obj = DocumentationGenerator()
     obj.get_url_patterns()