Metadata-Version: 1.0
Name: menhir.contenttype.file
Version: 0.2
Summary: File content type for Grok and Dolmen applications.
Home-page: UNKNOWN
Author: UNKNOWN
Author-email: UNKNOWN
License: GPL
Description: ***********************
        menhir.contenttype.file
        ***********************
        
        ``menhir.contenttype.file`` provides a content type for `Dolmen` based
        `Grok` applications.
        
        Schema
        ======
        
        The ``menhir.contenttype.file`` provides a very simple schema,
        extending the `IBaseContent` interface, from ``dolmen.content``::
        
        >>> from dolmen.content import IBaseContent
        >>> from menhir.contenttype.file import IFile
        
        >>> IFile.isOrExtends(IBaseContent)
        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
        >>> 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.2 (2010-07-20)
        ----------------
        
        * Corrected package archive MANIFEST, to include missing icon
        
        
        0.1 (2010-07-16)
        ----------------
        
        * Initial release
        
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
