#NEWLINE# def update_from_read_rows( self , read_rows_response_pb ) : #NEWLINE# #INDENT# "Updates the current row from a ``ReadRows`` response.\n\n        :type read_rows_response_pb:\n            :class:`._generated.bigtable_service_messages_pb2.ReadRowsResponse`\n        :param read_rows_response_pb: A response streamed back as part of a\n                                      ``ReadRows`` request.\n\n        :raises: :class:`ValueError <exceptions.ValueError>` if the current\n                 partial row has already been committed, if the row key on the\n                 response doesn't match the current one or if there is a chunk\n                 encountered with an unexpected ``ONEOF`` protobuf property.\n        " #NEWLINE# if self . _committed : #NEWLINE# #INDENT# raise ValueError ( 'The row has been committed' ) #NEWLINE# #UNINDENT# if ( read_rows_response_pb . row_key != self . row_key ) : #NEWLINE# #INDENT# raise ValueError ( ( 'Response row key (%r) does not match current one (%r).' % ( read_rows_response_pb . row_key , self . row_key ) ) ) #NEWLINE# #UNINDENT# last_chunk_index = ( len ( read_rows_response_pb . chunks ) - 1 ) #NEWLINE# for ( index , chunk ) in enumerate ( self . chunks ) : #NEWLINE# #INDENT# chunk_property = chunk . WhichOneof ( 'chunk' ) #NEWLINE# if ( chunk_property == 'row_contents' ) : #NEWLINE# #INDENT# self . _handle_row_contents ( chunk ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( chunk_property == 'reset_row' ) : #NEWLINE# #INDENT# self . _handle_reset_row ( chunk ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( chunk_property == 'commit_row' ) : #NEWLINE# #INDENT# self . _handle_commit_row ( chunk , index , last_chunk_index ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# raise ValueError ( ( 'Unexpected chunk property: %s' % ( chunk_property , ) ) ) #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# self . _chunks_encountered = True