]> git.phdru.name Git - m_librarian.git/blobdiff - m_librarian/db.py
Check if DB pathname starts with the current directory
[m_librarian.git] / m_librarian / db.py
index f65569cb6e37183922b4dc6ae4e88a51e5bfec00..56b194d0ac5621145d935d4343468249e7174adf 100755 (executable)
@@ -142,6 +142,14 @@ def open_db(db_uri=None):
         except:
             db_uri = find_sqlite_dburi()
 
+    if db_uri.startswith(os.sep) \
+            or os.altsep and db_uri.startswith(os.altsep) \
+            or db_uri.startswith(os.pardir + os.sep) \
+            or os.altsep and db_uri.startswith(os.pardir + os.altsep) \
+            or db_uri.startswith(os.curdir + os.sep) \
+            or os.altsep and db_uri.startswith(os.curdir + os.altsep):
+        db_uri = 'sqlite://' + os.path.abspath(db_uri).replace(os.sep, '/')
+
     sqlhub.processConnection = connection = connectionForURI(db_uri)
 
     if connection.dbName == 'sqlite':