ZC Buildout定义文件存储的配方
项目描述
设置文件存储的配方
此配方可用于定义文件存储。它创建了一个ZConfig文件存储数据库规范,其他配方可以使用它来生成ZConfig配置文件。
此配方接受一个可选的路径选项。如果没有提供,它将在与部分同名的子目录中创建并使用buildout部分目录。
该配方记录一个zconfig选项,供其他配方使用。
我们将展示几个示例,使用字典作为模拟的buildout对象
>>> 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>>> 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']
更新方法没有做什么,因为数据库部分的目录已经存在,但它存在,所以buildout不会抱怨,也不会意外再次运行install()方法
>>> recipe.update()
如果存储的目录被删除,更新方法是否会将其重新添加
>>> os.rmdir(os.path.join(d, 'db')) >>> os.listdir(d) [] >>> recipe.update() >>> os.listdir(d) ['db']
这在开发中很有用,当数据库所在的目录被删除,以便从头开始启动数据库。
变更日志
2.0 (2023-02-10)
移除对Python 2.6、2.7、3.2、3.3、3.4、3.5、3.6的支持。
添加对Python 3.7、3.8、3.9、3.10、3.11、PyPy3的支持。
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)
初始发布。
项目详情
下载文件
下载适合您平台的文件。如果您不确定要选择哪个,请了解有关 安装包 的更多信息。
源分布
zc.recipe.filestorage-2.0.tar.gz (7.4 kB 查看散列)