dolmen.app.content provides out-of-the-box utilities for Dolmen applications content.
Getting started
We import Grok and grok the package:
>>> import grok
>>> grok.testing.grok('dolmen.app.content')
We create a dolmen.content content:
>>> import dolmen.content
>>> class Mammoth(dolmen.content.Content):
... grok.name('A furry thing')
>>> manfred = Mammoth()
>>> manfred.title = u'A nice mammoth'
Indexes
dolmen.app.content registers two indexes to catalog the dolmen.content.IBaseContent created inside a Dolmen application:
>>> from dolmen.app.content import indexes
Base indexes
The dolmen.app.content.indexes.BaseIndexes handles the title and the content type of an IBaseContent content:
>>> indexes.BaseIndexes.__grok_indexes__
{'content_type': <grok.index.Field object at ...>, 'title': <grok.index.Text object at ...>}
>>> indexes.BaseIndexes.__grok_indexes__['content_type']._attribute
'__content_type__'
Searchable text
dolmen.app.content provides a simple ‘ISearchableText’ implementation, allowing full text searches. It comes in two parts.
The index:
>>> indexes.SearchableIndex.__grok_indexes__
{'searchabletext': <grok.index.Text object at ...>}
The adapter:
>>> from zope.index.text.interfaces import ISearchableText >>> adapter = ISearchableText(manfred) >>> adapter.getSearchableText() u'A nice mammoth'
Thumbnailing
Thanks to dolmen.thumbnailer, dolmen.app.content provides a base thumbnailing policy, using ZODB blobs as storage and introducing a new scale.
Scales
Let’s introspect our Miniaturizer component:
>>> from dolmen.app.content import thumbnails
>>> thumbnails.BlobMiniaturizer.factory
<class 'dolmen.blob.file.BlobValue'>
>>> print thumbnails.BlobMiniaturizer.scales
{'mini': (250, 250), 'square': (64, 64), 'thumb': (150, 150), 'large': (700, 700), 'small': (128, 128), 'preview': (400, 400)}
The new scale, ‘square’, scales down and crops the original image to provide a square thumbnail. This is done using a IThumbnailer adapter:
>>> from dolmen.thumbnailer import IThumbnailer >>> thumbnails.SquareThumbnailer <class 'dolmen.app.content.thumbnails.SquareThumbnailer'> >>> IThumbnailer.implementedBy(thumbnails.SquareThumbnailer) True
Credits
All Dolmen packages are sponsorised by NPAI (http://www.npai.fr)
Changelog
0.2.1 (2010-02-25)
Using PIL 1.1.7 instead of PILwoTK 1.1.6. This prevents having to declare a third party archive download location.
Maintenance cleaning for the release of Grok 1.1rc1. Code is now pep8 compliant.
0.2 (2010-02-01)
Added dolmen.blob include in configure.zcml.
Cleaning dependencies. The package is now zope.app free and relies on the latest Grok evolution.
0.1 (2009-11-02)
Initial release
Metadata
Release files for dolmen.app.content 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dolmen.app.content-0.2.1.tar.gz | 5.0 kB | Details |
Release files / dolmen.app.content-0.2.1.tar.gz
| Download URL | dolmen.app.content-0.2.1.tar.gz |
|---|---|
| Size | 5.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
930348eaa865c26006b072cf0ca627fad86d7dc371fc69daf176ef5421d021d4
|
|
BLAKE2b-256 checksum How to use checksums |
cb566f4a62a742b054106d727de046c17d998298d60a1e9bb51dbcdc92919085
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |