iwm.recipe.blobstorage 0.0.2
ZC Buildout recipe for defining a blob-storage
Recipe for setting up a blobstorage
===================================
This recipe can be used to define a blobstorage. It creates a ZConfig
file-storage database specification supporting blobs via zope.file that
can be used by other recipes to generate ZConfig configuration files.
This recipe takes an optional combination of a path and a blob_dir option.
If one is specified, the other is mandatory. If none are given (recommended),
the recipe creates and uses a subdirectory of the buildout parts directory
with the same name as the part and a subdirectory 'blobs' therein.
Additional options, like cache-size, can be given via the
storage-options
Parameter.
The recipe was derived from Jim's zc.filestorage recipe.
Original README follows:
========================
The recipe records a zconfig option for use by other recipes.
We'll show a couple of examples, using a dictionary as a simulated buildout
object::
>>> 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'],
path /buildout/foo/Main.fs
>>> 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']['blob-dir']
/tmp/tmpQo0DTB/db/blobs
>>> print buildout['db']['zconfig'],
blob-dir /tmp/tmpQo0DTB/db/blobs
path /tmp/tmpQo0DTB/db/Data.fs
>>> recipe.install()
()
>>> import os
>>> os.listdir(d)
['db']
The update method doesn't do anything, as the database part's directory
already exists, but it is present, so buildout doesn't complain and doesn't
accidentally run install() again::
>>> recipe.update()
To do
-----
- Add support for various file-storage options
- Create a ZODB-configuration recipe that is meant to be a base class for
storage recipes and provides database-configuration options.
| File | Type | Py Version | Uploaded on | Size | # downloads |
|---|---|---|---|---|---|
| iwm.recipe.blobstorage-0.0.2-py2.4.egg (md5) | Python Egg | 2.4 | 2007-07-16 | 7KB | 987 |
- Author: Torsten Kurbad
- Home Page: http://svn.kmrc.de/projects/devel/iwm.recipe.blobstorage
- Keywords: zope3 bebop blobstorage
- License: GPL
- Package Index Owner: torsti76
- DOAP record: iwm.recipe.blobstorage-0.0.2.xml
