Grok和Dolmen应用程序的文件内容类型。
menhir.contenttype.file的Python项目详细描述
menhir.contenttype.file为基于 应用程序。
模式
menhir.contenttype.file提供了一个非常简单的模式, 从dolmen.app.content:
扩展idescriptiveschema接口>>> from dolmen.app.content import IDescriptiveSchema >>> from menhir.contenttype.file import IFile >>> IFile.isOrExtends(IDescriptiveSchema) True
ifile接口描述数据字段,即 上载的文件或给定字节:
>>> for attr, doc in IFile.namesAndDescriptions(): ... print attr, ':', doc data : <dolmen.file.field.FileField object at ...>
这个i文件直接由文件对象提供,定义如下 它的模式:
>>> from menhir.contenttype.file import File >>> from dolmen.content import Content >>> somefile = File(title=u"My nice file", data="Some file data") >>> IFile.providedBy(somefile) True >>> from dolmen.content import schema >>> IFile in schema.bind().get(somefile) True >>> somefile.title u'My nice file'
储存
文件对数据使用blob存储:
>>> somefile.data <dolmen.blob.file.BlobValue object at ...> >>> print somefile.data.data Some file data
图标
由于^{tt3},内容注册了一个图标$ 套餐:
>>> from zope.component import getMultiAdapter >>> from zope.publisher.browser import TestRequest >>> request = TestRequest() >>> icon = getMultiAdapter((somefile, request), name="icon") >>> print icon <zope.browserresource.icon.IconView object at ...>
更改日志
0.3(2011-02-14)
- 模式现在继承自 dolmen.app.content,不再来自 dolmen.content。这将添加一个描述属性以及 已经存在的<引用>标题>引用。
0.2(2010-07-20)
- 已更正包存档清单,以包括丢失的图标
0.1(2010-07-16)
- 初始版本