'Convenience method for setting the title, authors, publisher or rating'

def set(self, row, column, val):

    id = self.data[row][0]
    col = {'title': 1, 'authors': 2, 'publisher': 3, 'rating': 4, 'tags': 7}[column]
    self.data[row][col] = val
    for item in self.cache:
        if (item[0] == id):
            item[col] = val
            break
    if (column == 'authors'):
        val = string_to_authors(val)
        self.set_authors(id, val)
    elif (column == 'title'):
        self.set_title(id, val)
    elif (column == 'publisher'):
        self.set_publisher(id, val)
    elif (column == 'rating'):
        self.set_rating(id, val)
    elif (column == 'tags'):
        self.set_tags(id, val.split(','), append=False)
