
from rest_framework import views
from rest_framework import status, exceptions
from rest_framework.response import Response

def patch_api_view():
    from django.views.generic import View

    if hasattr(views, "_patched"):
        return

    views._APIView = views.APIView
    views._patched = True

    class APIView(views.APIView):
        def handle_exception(self, exc):
            if isinstance(exc, exceptions.NotAuthenticated):
                return Response({'detail': 'Not authenticated'},
                                status=status.HTTP_401_UNAUTHORIZED,
                                exception=True)
            return super(APIView, self).handle_exception(exc)

        @classmethod
        def as_view(cls, **initkwargs):
            view = super(views._APIView, cls).as_view(**initkwargs)
            view.cls_instance = cls(**initkwargs)
            return view

    print "Patching APIView"
    views.APIView = APIView

from __future__ import print_function
import sys

from rest_framework import views
from rest_framework import status, exceptions
from rest_framework.response import Response

def patch_api_view():
    from django.views.generic import View

    if hasattr(views, "_patched"):
        return

    views._APIView = views.APIView
    views._patched = True

    class APIView(views.APIView):
        def handle_exception(self, exc):
            if isinstance(exc, exceptions.NotAuthenticated):
                return Response({'detail': 'Not authenticated'},
                                status=status.HTTP_401_UNAUTHORIZED,
                                exception=True)
            return super(APIView, self).handle_exception(exc)

        @classmethod
        def as_view(cls, **initkwargs):
            view = super(views._APIView, cls).as_view(**initkwargs)
            view.cls_instance = cls(**initkwargs)
            return view

    print("Patching APIView", file=sys.stderr)
    views.APIView = APIView

Send print message to sys.stderr
Smallfix: Send print message to sys.stderr

+ from __future__ import print_function
+ import sys
  
  from rest_framework import views
  from rest_framework import status, exceptions
  from rest_framework.response import Response
  
  def patch_api_view():
      from django.views.generic import View
  
      if hasattr(views, "_patched"):
          return
  
      views._APIView = views.APIView
      views._patched = True
  
      class APIView(views.APIView):
          def handle_exception(self, exc):
              if isinstance(exc, exceptions.NotAuthenticated):
                  return Response({'detail': 'Not authenticated'},
                                  status=status.HTTP_401_UNAUTHORIZED,
                                  exception=True)
              return super(APIView, self).handle_exception(exc)
  
          @classmethod
          def as_view(cls, **initkwargs):
              view = super(views._APIView, cls).as_view(**initkwargs)
              view.cls_instance = cls(**initkwargs)
              return view
  
-     print "Patching APIView"
+     print("Patching APIView", file=sys.stderr)
      views.APIView = APIView
  
Send print message to sys.stderr
## Code Before:

from rest_framework import views
from rest_framework import status, exceptions
from rest_framework.response import Response

def patch_api_view():
    from django.views.generic import View

    if hasattr(views, "_patched"):
        return

    views._APIView = views.APIView
    views._patched = True

    class APIView(views.APIView):
        def handle_exception(self, exc):
            if isinstance(exc, exceptions.NotAuthenticated):
                return Response({'detail': 'Not authenticated'},
                                status=status.HTTP_401_UNAUTHORIZED,
                                exception=True)
            return super(APIView, self).handle_exception(exc)

        @classmethod
        def as_view(cls, **initkwargs):
            view = super(views._APIView, cls).as_view(**initkwargs)
            view.cls_instance = cls(**initkwargs)
            return view

    print "Patching APIView"
    views.APIView = APIView

## Instruction:
Send print message to sys.stderr
## Code After:
from __future__ import print_function
import sys

from rest_framework import views
from rest_framework import status, exceptions
from rest_framework.response import Response

def patch_api_view():
    from django.views.generic import View

    if hasattr(views, "_patched"):
        return

    views._APIView = views.APIView
    views._patched = True

    class APIView(views.APIView):
        def handle_exception(self, exc):
            if isinstance(exc, exceptions.NotAuthenticated):
                return Response({'detail': 'Not authenticated'},
                                status=status.HTTP_401_UNAUTHORIZED,
                                exception=True)
            return super(APIView, self).handle_exception(exc)

        @classmethod
        def as_view(cls, **initkwargs):
            view = super(views._APIView, cls).as_view(**initkwargs)
            view.cls_instance = cls(**initkwargs)
            return view

    print("Patching APIView", file=sys.stderr)
    views.APIView = APIView
