]> git.phdru.name Git - m_librarian.git/commitdiff
Add insert_name
authorOleg Broytman <phd@phdru.name>
Tue, 22 Dec 2015 21:07:18 +0000 (00:07 +0300)
committerOleg Broytman <phd@phdru.name>
Wed, 23 Dec 2015 17:10:02 +0000 (20:10 +0300)
Insert a unique name if it doesn't exist.

m_librarian/db.py

index 199f967b929152bdc33c329ed7bb4d1492f578b0..7cd53a17c7bb78b38938901ccac59b0c53f94375 100755 (executable)
@@ -1,12 +1,12 @@
 #! /usr/bin/env python
 
 __all__ = ['Author', 'Book', 'Extension', 'Genre', 'Language',
-           'init_db',
+           'init_db', 'insert_name',
            ]
 
 import os
 from sqlobject import SQLObject, StringCol, UnicodeCol, IntCol, BoolCol, \
-    ForeignKey, DateCol, connectionForURI, sqlhub, dberrors
+    ForeignKey, DateCol, connectionForURI, sqlhub, SQLObjectNotFound, dberrors
 from .config import ml_conf
 
 try:
@@ -91,6 +91,13 @@ def init_db():
         return
 
 
+def insert_name(table, name):
+    try:
+        return table.byName(name)
+    except SQLObjectNotFound:
+        return table(name=name, count=0)
+
+
 def test():
     print "DB dirs:", db_dirs
     if db_uri: