def test_tablenames(self): fname = norm_file('tests/db/tablenames-test-1.sqlite') SqliteDict(fname) self.assertEqual(SqliteDict.get_tablenames(fname), ['unnamed']) fname = norm_file('tests/db/tablenames-test-2.sqlite') with SqliteDict(fname,tablename='table1') as db1: self.assertEqual(SqliteDict.get_tablenames(fname), ['table1']) with SqliteDict(fname,tablename='table2') as db2: self.assertEqual(SqliteDict.get_tablenames(fname), ['table1','table2']) tablenames = SqliteDict.get_tablenames('tests/db/tablenames-test-2.sqlite') self.assertEqual(tablenames, ['table1','table2'])
def init(): global all_batches global textdbs all_batches = read_batches() textdbs = {} for src in SqliteDict.get_tablenames(DATADIR + "/all-texts.sqlited"): textdbs[src] = SqliteDict(DATADIR + "/all-texts.sqlited", tablename=src) print(list(textdbs.keys()))
def test_readonly_table(self): """ Read-only access on a non-existant tablename should raise RuntimeError, and not create a new (empty) table. """ fname = norm_file('tests/db/sqlitedict-override-test.sqlite') dummy_tablename = 'table404' orig_db = SqliteDict(filename=fname) orig_db['key'] = 'value' orig_db['key_two'] = 2 orig_db.commit() orig_db.close() self.assertFalse(dummy_tablename in SqliteDict.get_tablenames(fname)) with self.assertRaises(RuntimeError): SqliteDict(filename=fname, tablename=dummy_tablename, flag='r') self.assertFalse(dummy_tablename in SqliteDict.get_tablenames(fname))
def list(self, table) -> List[str]: ''' Return all tables name in db. ''' return SqliteDict.get_tablenames(table)