diff --git a/src/calibre/library/database2.py b/src/calibre/library/database2.py index 1095774070..d55c1e0741 100644 --- a/src/calibre/library/database2.py +++ b/src/calibre/library/database2.py @@ -911,11 +911,18 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): aum = [] aus = {} aul = {} - for (author, author_sort, link) in aut_list: - aut = author.replace('|', ',') - aum.append(aut) - aus[aut] = author_sort.replace('|', ',') - aul[aut] = link + try: + for (author, author_sort, link) in aut_list: + aut = author.replace('|', ',') + aum.append(aut) + aus[aut] = author_sort.replace('|', ',') + aul[aut] = link + except ValueError: + # Author has either ::: or :#: in it + for x in row[fm['authors']].split(','): + aum.append(x.replace('|', ',')) + aul[aum[-1]] = '' + aus[aum[-1]] = aum[-1] mi.title = row[fm['title']] mi.authors = aum mi.author_sort = row[fm['author_sort']]