def _readRow(self, row):
        book = Book()
        book.bc_author_details = row['author_details']
        book.bc_title = row['title']
        book.bc_isbn = row['isbn']
        book.bc_publisher = row['publisher']
        book.bc_date_published_orig = row['date_published']
        book.bc_date_published = self._parseDate(row['date_published'])
        book.bc_rating = int(row['rating'])
        book.bc_read = bool(int(row['rating']))
        book.bc_series_details = row['series_details']
        book.bc_pages = self._valueOrNull(row['pages'])
        book.bc_list_price = row['list_price']
        book.bc_anthology = int(row['anthology'])
        book.bc_location = row['location']
        book.bc_read_start = self._parseDate(row['read_start'])
        book.bc_read_start_orig = row['read_start']
        book.bc_read_end = self._parseDate(row['read_end'])
        book.bc_read_end_orig = row['read_end']
        book.bc_book_format = row['format']
        book.bc_signed = bool(int(row['signed']))
        book.bc_loaned_to = row['loaned_to']
        book.bc_anthology_titles = row['anthology_titles']
        book.bc_description = row['description']
        book.bc_genre = row['genre']
        book.bc_language = row['language']
        book.bc_date_added =  self._dt(row['date_added'])
        book.bc_goodreads_bookid = int(row['goodreads_book_id'])
        book.bc_goodreads_sync_date = self._parseDate(row['last_goodreads_sync_date'])
        book.bc_last_update_date = self._dt(row['last_update_date'])
        book.bc_uuid = uuid.UUID(row['book_uuid'])

        shelf_ids = self._getBookshelfs(row['bookshelf_id'], row['bookshelf'])
        return book