Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

collective.regjsonify-0.3.0.tar.gz (14.0 kB view details)

Uploaded Source

File details

Details for the file collective.regjsonify-0.3.0.tar.gz.

File metadata

  • Download URL: collective.regjsonify-0.3.0.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/2.7.17

File hashes

Hashes for collective.regjsonify-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c885e32b2f7a760244ffe87772542e7c620766600e3a2d43f57549ed86915524
MD5 c00a0a3b8245422b69eecbfcf48ec4e2
BLAKE2b-256 83aeba4a4dd678a23ff9f876dfd7037259cb65d079681be59bd87c4c0e2799ce

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