File content type for Grok and Dolmen applications.
Project description
menhir.contenttype.file provides a content type for Dolmen based Grok applications.
Schema
The menhir.contenttype.file provides a very simple schema, extending the IDescriptiveSchema interface, from dolmen.app.content:
>>> from dolmen.app.content import IDescriptiveSchema >>> from menhir.contenttype.file import IFile >>> IFile.isOrExtends(IDescriptiveSchema) True
The IFile interface describes the data field, that is to hold the uploaded file or given bytes:
>>> for attr, doc in IFile.namesAndDescriptions(): ... print attr, ':', doc data : <dolmen.file.field.FileField object at ...>
This IFile is directly provided by the File object, as defines it as its schema:
>>> 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'
Storage
The file uses a Blob storage for the data:
>>> somefile.data <dolmen.blob.file.BlobValue object at ...> >>> print somefile.data.data Some file data
Icon
The content registers an icon, thanks to the dolmen.app.content package:
>>> 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 ...>
Changelog
0.3 (2011-02-14)
The schema now inherits from IDescriptiveSchema from dolmen.app.content and no longer from IBaseContent from dolmen.content. This adds a description attribute along with the already existing title.
0.2 (2010-07-20)
Corrected package archive MANIFEST, to include missing icon
0.1 (2010-07-16)
Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for menhir.contenttype.file-0.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07969c898f56fe6582e2ab5c5c15585bd868a0ec413dbf9b4c0ddf00531ebfa3 |
|
MD5 | d0e023b36acbd5cd170a2b16f6ee9de4 |
|
BLAKE2b-256 | 32c71f61e128b813f1e34c00ca580c091b52041e3556806ab2569ca839962630 |