import os import sqlite3 import thread threaddbs = {} def get_db_connection(conn, name=''): """returns an sqlite3 connection to a persistent database""" if not name: name = '{}.db'.format(conn.name) threadid = thread.get_ident() if name in threaddbs and threadid in threaddbs[name]: return threaddbs[name][threadid] filename = os.path.join(bot.persist_dir, name) db = sqlite3.connect(filename, timeout=10) if name in threaddbs: threaddbs[name][threadid] = db else: threaddbs[name] = {threadid: db} return db bot.get_db_connection = get_db_connection