'Note that even if commit is False, the db will still be committed to
because this causes the location of files to change
:param authors: A list of authors.'

def set_authors(self, id, authors, notify=True, commit=True, allow_case_change=False):

    self.windows_check_if_files_in_use(id)
    books_to_refresh = self._set_authors(id, authors, allow_case_change=allow_case_change)
    self.dirtied((set([id]) | books_to_refresh), commit=False)
    if commit:
        self.conn.commit()
    self.set_path(id, index_is_id=True)
    if notify:
        self.notify('metadata', [id])
    return books_to_refresh
