Skip to main content

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 (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

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dolmen.app.content 0.2
File Size Uploaded
dolmen.app.content-0.2.tar.gz 4.9 kB Details

Release files / dolmen.app.content-0.2.tar.gz

Download URL dolmen.app.content-0.2.tar.gz
Size 4.9 kB
Tags Source
SHA-256 checksum
How to use checksums
d8b5ab104dd6140d90ed45e609d7d3c27ffbac1528f66510719710b68c7e095b
BLAKE2b-256 checksum
How to use checksums
fa2cf4bc4eb06519f3d23eced753e5e61c3ed12941583d22cde2bfe7cf8a126f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page