  if 'patch' not in View.http_method_names:
      View.http_method_names = View.http_method_names + ['patch']
  
  
  
  try:
      # In 1.5 the test client uses force_bytes
      from django.utils.encoding import force_bytes as force_bytes_or_smart_bytes
  except ImportError:
      # In 1.4 the test client just uses smart_str
      from django.utils.encoding import smart_str as force_bytes_or_smart_bytes
  
  
  # RequestFactory only provides `generic` from 1.5 onwards
  if django.VERSION >= (1, 5):
      from django.test.client import RequestFactory
  else:
      from django.test.client import RequestFactory as DjangoRequestFactory
  
      class RequestFactory(DjangoRequestFactory):
          def generic(self, method, path,
                  data='', content_type='application/octet-stream', **extra):
              parsed = _urlparse(path)
              data = force_bytes_or_smart_bytes(data, settings.DEFAULT_CHARSET)
              r = {
                  'PATH_INFO': self._get_path(parsed),
                  'QUERY_STRING': force_text(parsed[4]),
                  'REQUEST_METHOD': six.text_type(method),
              }
              if data:
                  r.update({
                      'CONTENT_LENGTH': len(data),
                      'CONTENT_TYPE': six.text_type(content_type),
                      'wsgi.input': FakePayload(data),
                  })
              r.update(extra)
              return self.request(**r)
  
  
  # Markdown is optional
  try:
      import markdown
  
      def apply_markdown(text):
 
</s> remove             ret = force_bytes_or_smart_bytes(data, settings.DEFAULT_CHARSET)
 </s> add             ret = force_bytes(data, settings.DEFAULT_CHARSET) </s> remove from rest_framework.compat import RequestFactory as DjangoRequestFactory
from rest_framework.compat import force_bytes_or_smart_bytes
 </s> add  </s> remove import warnings

 </s> add 
  if 'patch' not in View.http_method_names:
      View.http_method_names = View.http_method_names + ['patch']
  
  



































  # Markdown is optional
  try:
      import markdown
  
      def apply_markdown(text):
keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace keep keep keep keep keep
 Bump minimum Django version to 1.5 
rest_framework/compat.py