Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
menhir.contenttype.file-0.3.tar.gz (5.1 kB) Copy SHA256 hash SHA256 Source None Feb 14, 2011

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page