为Grok和Dolmen应用程序提供文件内容类型。
项目描述
menhir.contenttype.file 为基于 Dolmen 的 Grok 应用程序提供内容类型。
架构
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 ...>
此 IFile 直接由 File 对象提供,因为它将其定义为它的架构
>>> 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
图标
内容注册了一个图标,归功于 dolmen.app.content 包
>>> 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 的 IDescriptiveSchema 继承,不再从 dolmen.content 的 IBaseContent 继承。这添加了一个 description 属性以及已经存在的 title。
0.2 (2010-07-20)
修正了包存档MANIFEST,以包含缺少的图标
0.1 (2010-07-16)
初始发布
项目详情
关闭
menhir.contenttype.file-0.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 07969c898f56fe6582e2ab5c5c15585bd868a0ec413dbf9b4c0ddf00531ebfa3 |
|
MD5 | d0e023b36acbd5cd170a2b16f6ee9de4 |
|
BLAKE2b-256 | 32c71f61e128b813f1e34c00ca580c091b52041e3556806ab2569ca839962630 |