'Refresh the data in the cache for books identified by ids.
Returns a list of affected rows or None if the rows are filtered.'

def refresh_ids(self, db, ids):

    for id in ids:
        try:
            self._data[id] = CacheRow(db, self.composites, db.conn.get('SELECT    *    from    meta2    WHERE    id=?', (id,))[0], self.series_col, self.series_sort_col)
            self._data[id].append(db.book_on_device_string(id))
            self._data[id].append(self.marked_ids_dict.get(id, None))
            self._data[id].append(None)
            self._uuid_map[self._data[id][self._uuid_column_index]] = id
        except IndexError:
            return None
    try:
        return map(self.row, ids)
    except ValueError:
        pass
    return None
