예제 #1
0
    def get(self, request, format=None):
        '''List supported API endpoints'''

        book_api = _reverse('api-book-list', request=request)
        user_api = _reverse('api-user-list', request=request)
        rating_api = _reverse('api-rating-list', request=request)
        similarity_api = _reverse('api-similarity-list', request=request)

        data = OrderedDict()
        data['description'] = ('Limited Recommender System REST API')
        data['endpoints'] = {
            "books": book_api,
            "users": user_api,
            "ratings": rating_api,
            "similarities": similarity_api,
        }
        return Response(data)
예제 #2
0
 def reverse(self,
             viewname,
             args=None,
             kwargs=None,
             request=None,
             format=None,
             **extra):
     return _reverse(viewname, args, kwargs, request, format, **extra)
예제 #3
0
def drf_reverse(viewname, args=None, kwargs=None, request=None, format=None, **extra):
    """
    Copy and monkey-patch `rest_framework.reverse.reverse` to prevent adding unwarranted
    query string parameters.
    """
    scheme = getattr(request, 'versioning_scheme', None)
    if scheme is not None:
        try:
            url = scheme.reverse(viewname, args, kwargs, request, format, **extra)
        except NoReverseMatch:
            # In case the versioning scheme reversal fails, fallback to the
            # default implementation
            url = _reverse(viewname, args, kwargs, request, format, **extra)
    else:
        url = _reverse(viewname, args, kwargs, request, format, **extra)

    return url
예제 #4
0
 def reverse(cls,
             view_name,
             args=None,
             kwargs=None,
             request=None,
             format=None,
             **extra):
     if kwargs is None:
         kwargs = {}
     kwargs.update({'version': cls.version})
     return _reverse(view_name, args, kwargs, request, format, **extra)
예제 #5
0
def reverse(*args, **kwargs):
    return u'http://testserver' + _reverse(*args, **kwargs)
예제 #6
0
 def reverse(self, viewname, args=None, kwargs=None, request=None, format=None, **extra):
     return _reverse(viewname, args, kwargs, request, format, **extra)
예제 #7
0
def reverse(*args, **kwargs):
    return build_absolute_test_url(_reverse(*args, **kwargs))
예제 #8
0
 def generate_abs_url(self):
     url = _reverse('email-list', request=self.context['request'])
     return url
예제 #9
0
def reverse(*args, **kwargs):
    return u'http://testserver' + _reverse(*args, **kwargs)