]> git.phdru.name Git - m_librarian.git/commitdiff
Fix(DB): Fix bug with adding same genre to book
authorOleg Broytman <phd@phdru.name>
Sun, 3 Mar 2024 15:27:40 +0000 (18:27 +0300)
committerOleg Broytman <phd@phdru.name>
Sun, 3 Mar 2024 15:27:40 +0000 (18:27 +0300)
docs-ru/news.rst
docs/news.rst
m_librarian/inp.py

index a66ea93a5b52df07fc992e2bb662e1649cbbb667..fbdd698fe0cb27ca6380fc9d97f8090259a0a5c2 100644 (file)
@@ -1,6 +1,11 @@
 Новости
 =======
 
+Версия 0.3.2 (2024-03-??)
+-------------------------
+
+* Исправлена ошибка с повторным добавлением жанра книги.
+
 Версия 0.3.1 (2024-02-25)
 -------------------------
 
index 4d1fe119a2d138fce960d598cf8afcae2b4b0aaa..ce0b046429f5cd6d985cfb500ff6d806c448abcd 100644 (file)
@@ -1,6 +1,11 @@
 News
 ====
 
+Version 0.3.2 (2024-03-??)
+--------------------------
+
+* Fix a bug with adding the same genre to a book.
+
 Version 0.3.1 (2024-02-25)
 --------------------------
 
index f910b10eefe03e6deb6b66c4e54d9015a33646bc..6d3bd7d120ce0d15e4157dbf7a41cc42bfddc3c0 100644 (file)
@@ -2,7 +2,7 @@
 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, \
@@ -71,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):