commit fbe46fb0ef8103f3cd09842677034899098e7b8a Author: Isis Lovecruft isis@torproject.org Date: Tue Apr 21 22:52:25 2015 +0000
Remove bridgedb.Storage.openOrConvertDatabase().
The databases were converted *many* years ago. We don't need this cruft anymore. --- lib/bridgedb/Main.py | 2 +- lib/bridgedb/Storage.py | 66 ++--------------------------------------------- 2 files changed, 3 insertions(+), 65 deletions(-)
diff --git a/lib/bridgedb/Main.py b/lib/bridgedb/Main.py index d5f4c24..116f827 100644 --- a/lib/bridgedb/Main.py +++ b/lib/bridgedb/Main.py @@ -412,7 +412,7 @@ def run(options, reactor=reactor):
# Initialize our DB. bridgedb.Storage.initializeDBLock() - db = bridgedb.Storage.openOrConvertDatabase(cfg.DB_FILE + ".sqlite", cfg.DB_FILE) + db = bridgedb.Storage.openDatabase(cfg.DB_FILE + ".sqlite") bridgedb.Storage.setDBFilename(cfg.DB_FILE + ".sqlite") load(state, splitter, clear=False)
diff --git a/lib/bridgedb/Storage.py b/lib/bridgedb/Storage.py index 732d8ab..f9fcf43 100644 --- a/lib/bridgedb/Storage.py +++ b/lib/bridgedb/Storage.py @@ -130,11 +130,8 @@ class BridgeData: self.last_seen = last_seen
class Database(object): - def __init__(self, sqlite_fname, db_fname=None): - if db_fname is None: - self._conn = openDatabase(sqlite_fname) - else: - self._conn = openOrConvertDatabase(sqlite_fname, db_fname) + def __init__(self, sqlite_fname): + self._conn = openDatabase(sqlite_fname) self._cur = self._conn.cursor() self.sqlite_fname = sqlite_fname
@@ -326,62 +323,6 @@ def openDatabase(sqlite_file): return conn
-def openOrConvertDatabase(sqlite_file, db_file): - """Open a sqlite database, converting it from a db file if needed.""" - if os.path.exists(sqlite_file): - return openDatabase(sqlite_file) - - conn = sqlite3.Connection(sqlite_file) - cur = conn.cursor() - cur.executescript(SCHEMA3_SCRIPT) - conn.commit() - - import anydbm - - try: - db = anydbm.open(db_file, 'r') - except anydbm.error: - return conn - - try: - # We handle all the sp| keys first, since other tables have - # dependencies on Bridges. - for k in db.keys(): - v = db[k] - if k.startswith("sp|"): - assert len(k) == 23 - cur.execute("INSERT INTO Bridges ( hex_key, distributor ) " - "VALUES (?, ?)", (toHex(k[3:]),v)) - # Now we handle the other key types. - for k in db.keys(): - v = db[k] - if k.startswith("fs|"): - assert len(k) == 23 - cur.execute("UPDATE Bridges SET first_seen = ? " - "WHERE hex_key = ?", (v, toHex(k[3:]))) - elif k.startswith("ls|"): - assert len(k) == 23 - cur.execute("UPDATE Bridges SET last_seen = ? " - "WHERE hex_key = ?", (v, toHex(k[3:]))) - #elif k.startswith("em|"): - # keys = list(toHex(i) for i in - # bridgedb.Bridges.chopString(v, bridgedb.Bridges.ID_LEN)) - # cur.executemany("INSERT INTO EmailedBridges ( email, id ) " - # "SELECT ?, id FROM Bridges WHERE hex_key = ?", - # [(k[3:],i) for i in keys]) - elif k.startswith("sp|") or k.startswith("em|"): - pass - else: - logging.warn("Unrecognized key %r", k) - except: - conn.rollback() - conn.close() - os.unlink(sqlite_file) - raise - - conn.commit() - return conn - class DBGeneratorContextManager(GeneratorContextManager): """Helper for @contextmanager decorator.
@@ -470,9 +411,6 @@ def initializeDBLock(): _LOCK = threading.RLock() assert _LOCK
-def checkAndConvertDB(sqlite_file, db_file): - openOrConvertDatabase(sqlite_file, db_file).close() - def setDBFilename(sqlite_fname): global _DB_FNAME _DB_FNAME = sqlite_fname