sqladburl.py 文件源码

python
阅读 16 收藏 0 点赞 0 评论 0

项目:eventor 作者: Acrisel 项目源码 文件源码
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
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号