Преглед изворни кода

all drivers must return a version ...

oz123 пре 10 година
родитељ
комит
6ae242c652
3 измењених фајлова са 8 додато и 4 уклоњено
  1. 1 1
      pwman/data/drivers/mongodb.py
  2. 1 0
      pwman/data/drivers/postgresql.py
  3. 6 3
      pwman/data/drivers/sqlite.py

+ 1 - 1
pwman/data/drivers/mongodb.py

@@ -25,7 +25,7 @@ class MongoDB(Database):
 
     @classmethod
     def check_db_version(cls, dburi):
-        pass
+        return __DB_FORMAT__
 
     def __init__(self, mongodb_uri, dbformat=__DB_FORMAT__):
         self.uri = mongodb_uri

+ 1 - 0
pwman/data/drivers/postgresql.py

@@ -54,6 +54,7 @@ class PostgresqlDatabase(Database):
             return version[-1]
         except pg.ProgrammingError:
             con.rollback()
+            return __DB_FORMAT__
 
     def __init__(self, pgsqluri, dbformat=__DB_FORMAT__):
         """

+ 6 - 3
pwman/data/drivers/sqlite.py

@@ -20,8 +20,7 @@
 # ============================================================================
 
 """SQLite Database implementation."""
-from pwman.data.database import Database
-from pwman.data.database import __DB_FORMAT__
+from ..database import Database, __DB_FORMAT__
 import sqlite3 as sqlite
 
 
@@ -32,7 +31,11 @@ class SQLite(Database):
         """
         check the database version.
         """
-        con = sqlite.connect(fname)
+        try:
+            con = sqlite.connect(fname)
+        except sqlite.OperationalError as E:
+            print "could not open %s" % fname
+            raise E
         cur = con.cursor()
         cur.execute("PRAGMA TABLE_INFO(DBVERSION)")
         row = cur.fetchone()