]> git.phdru.name Git - m_librarian.git/blobdiff - m_librarian/inp.py
Docs: Update TODO
[m_librarian.git] / m_librarian / inp.py
index 3789dd2e2d986c5969a7688d9651b8cfd2219095..6d3bd7d120ce0d15e4157dbf7a41cc42bfddc3c0 100644 (file)
@@ -1,8 +1,10 @@
 
 import os
 from zipfile import ZipFile
-from sqlobject import sqlhub
+
+from sqlobject import dberrors, sqlhub
 from sqlobject.sqlbuilder import Select
+
 from .db import Author, Book, Extension, Genre, Language, \
     insert_name, insert_author
 
@@ -69,7 +71,10 @@ def import_inp_line(archive, parts):
     for genre in genres.split(':'):
         if genre:
             genre_row = insert_name(Genre, genre, title=genre)
-            book.addGenre(genre_row)
+            try:
+                book.addGenre(genre_row)
+            except dberrors.DuplicateEntryError:
+                pass  # The genre has already been added
 
 
 def tounicode(s):