Export Plone registry content to a JSON compatible Python structure
Project description
Introduction
Quickly export the content of a Plone registry configuration (defined by an interface) in a Python structure compatible with JSON format:
import json
from collective.regjsonify.interfaces import IJSONifier
from plone.registry.interfaces import IRegistry
from zope.component import queryUtility
registry = queryUtility(IRegistry)
settings = registry.forInterface(IYouInterfaceSettings)
python_data = IJSONifier(settings).json()
json_data = json.dumps(python_data)
Extending
The package came with a default set of know data types that cover common fields used in Plone registry. However this set can be not complete if you are using a not supported field type.
During export operation unknown data are ignored.
If you want to export other types you must manually provide the proper IJSONFieldDumper adapter:
<adapter
factory="your.package.YouExportAdapter"
provides="collective.regjsonify.interfaces.IJSONFieldDumper"
for="3rd.party.field.interfaces.INewFieldType"
/>
Changelog
0.3.0 (2020-03-13)
Fix compatibility with zope.schema < 4 [mamico]
Python 3 compatibility [cekk]
0.2.0 (2015-08-25)
Recusively traverse all of the interface’s parents attributes [keul]
Added an IObject field adapter. There’s no more need that the persistent field implements another interface (see changes in tests). Also: custom IObject derived fields are now automatically supported. [keul]
0.1.0 (2014-05-02)
Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for collective.regjsonify-0.3.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c885e32b2f7a760244ffe87772542e7c620766600e3a2d43f57549ed86915524 |
|
MD5 | c00a0a3b8245422b69eecbfcf48ec4e2 |
|
BLAKE2b-256 | 83aeba4a4dd678a23ff9f876dfd7037259cb65d079681be59bd87c4c0e2799ce |