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.

Source Distribution

menhir.contenttype.file-0.3.tar.gz (5.1 kB view details)

Uploaded Source

File details

Details for the file menhir.contenttype.file-0.3.tar.gz.

File metadata

File hashes

Hashes for menhir.contenttype.file-0.3.tar.gz
Algorithm Hash digest
SHA256 07969c898f56fe6582e2ab5c5c15585bd868a0ec413dbf9b4c0ddf00531ebfa3
MD5 d0e023b36acbd5cd170a2b16f6ee9de4
BLAKE2b-256 32c71f61e128b813f1e34c00ca580c091b52041e3556806ab2569ca839962630

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page