  
  
  class BaseParser(object):
      """
      All parsers should extend :class:`BaseParser`, specifying a :attr:`media_type` attribute,
      and overriding the :meth:`parse` method.
 
</s> remove     JSONEncoder subclass that knows how to encode date/time and decimal types.
 </s> add     JSONEncoder subclass that knows how to encode date/time,
    decimal types, and generators. </s> remove             (self._data, self._files) = self._parse()
 </s> add             self._data, self._files = self._parse() </s> remove         return (stream.read(), None)
 </s> add         return stream.read() </s> remove         Returns a 2-tuple of `(data, files)`.
 </s> add         Returns a DataAndFiles object. </s> remove             (self._data, self._files) = self._parse()
 </s> add             self._data, self._files = self._parse()
class DataAndFiles(object):
    def __init__(self, data, files):
        self.data = data
        self.files = files


  
  
class DataAndFiles(object):
    def __init__(self, data, files):
        self.data = data
        self.files = files


  class BaseParser(object):
      """
      All parsers should extend :class:`BaseParser`, specifying a :attr:`media_type` attribute,
      and overriding the :meth:`parse` method.
keep add keep keep keep keep
 Parsers may return raw data, or a DataAndFiles object 
djangorestframework/parsers.py