docs: def _parse_view_results(self, rows, factory, options):
          '''
          rows here should be a list of tuples:
           - (key, value) for reduce views
           - (key, value, id) for nonreduce views without include docs
           - (key, value, id, doc) for nonreduce with with include docs
          '''
          kwargs = dict()
          kwargs['reduced'] = factory.use_reduce and options.get('reduce', True)
          kwargs['include_docs'] = options.get('include_docs', False)
          # Lines below pass extra arguments to the parsing function if they
          # are expected. These arguments are bound method unserialize() and
          # unserialize_list(). They methods perform the magic of parsing and
          # upgrading if necessary the loaded documents.
  
          spec = inspect.getargspec(factory.parse_view_result)
          if 'unserialize' in spec.args:
              kwargs['unserialize'] = self.unserialize_document
          if 'unserialize_list' in spec.args:
              kwargs['unserialize_list'] = self.unserialize_list_of_documents
          return factory.parse_view_result(rows, **kwargs)