def sqlite_url(dbconf, database):
'''
engine = create_engine('sqlite:///foo.db')
engine = create_engine('sqlite:////absolute/path/to/foo.db')
engine = create_engine('sqlite:///C:\\path\\to\\foo.db')
engine = create_engine(r'sqlite:///C:\path\to\foo.db')
engine = create_engine('sqlite://')
'''
creator=None
file=dbconf.get('database')
url_args=get_url_kwargs(dbconf, )
url=URL(drivername='sqlite', **url_args)
if not file:
PY2 = sys.version_info.major == 2
if PY2:
params = {}
else:
params = {'uri': True}
url_args_list=["%s=%s" % (k, v) for k, v in url_args.items()]
url_args_str=''
if url_args_list: url_args_str="?%s" % '&'.join(url_args_list)
DB_URI = 'file::memory:%s' %(url_args_str)
creator = lambda: sqlite3.connect(DB_URI, **params)
kwargs=get_rest_kwargs(dbconf, ignore=CONNECT_ARGS, )
if creator:
kwargs['creator']=creator
return url, kwargs
评论列表
文章目录