用于定义文件存储的zc构建方法
zc.recipe.filestorage的Python项目详细描述
设置文件存储的方法
此配方可用于定义文件存储。它创建一个zconfig 其他配方可以使用的文件存储数据库规范 生成zconfig配置文件。
此配方采用可选路径选项。如果没有给出,它会创建和 使用与 部分。
配方记录一个zconfig选项供其他配方使用。
我们将展示几个示例,使用字典作为模拟构建 对象:
>>> import zc.recipe.filestorage >>> buildout = dict( ... buildout = { ... 'directory': '/buildout', ... }, ... db = { ... 'path': 'foo/Main.fs', ... }, ... ) >>> recipe = zc.recipe.filestorage.Recipe( ... buildout, 'db', buildout['db'])>>> print(buildout['db']['path']) /buildout/foo/Main.fs>>> from six import print_ >>> print_(buildout['db']['zconfig'], end='') <zodb> <filestorage> path /buildout/foo/Main.fs </filestorage> </zodb>>>> recipe.install() ()>>> import tempfile >>> d = tempfile.mkdtemp() >>> buildout = dict( ... buildout = { ... 'parts-directory': d, ... }, ... db = {}, ... )>>> recipe = zc.recipe.filestorage.Recipe( ... buildout, 'db', buildout['db'])>>> print(buildout['db']['path']) /tmp/tmpQo0DTB/db/Data.fs>>> print_(buildout['db']['zconfig'], end='') <zodb> <filestorage> path /tmp/tmpQo0DTB/db/Data.fs </filestorage> </zodb>>>> recipe.install() ()>>> import os >>> os.listdir(d) ['db']
update方法做的不多,因为数据库部分的目录 它已经存在,但它存在,所以它不会抱怨也不会。 再次意外运行install():
>>> recipe.update()
如果存储的目录被删除,是否通过更新方法重新添加:
>>> os.rmdir(os.path.join(d, 'db')) >>> os.listdir(d) [] >>> recipe.update() >>> os.listdir(d) ['db']
当包含数据库的目录是 为了从头启动数据库而删除。
更改
1.1.2(2014-02-21)
- 修正:打包错误导致'pip install zc.recipe.filestorage'失败 缺少README.txt时出错
1.1.1(2014-02-16)
- 修正:包装错误导致测试失败 没有使用buildout运行setup.py的测试运行程序。
1.1.0(2014-02-14)
- python 3兼容性
- 使用python的doctest模块而不是弃用 zope.testing.doctest。
- 已从blobstorage节中删除“shared blob dir”
1.0.0(2007-11-03)
- 初次发布