Skip to main content

A transmogrifier blueprint for updating dexterity objects

Project description

Introduction

The transmogrify.dexterity package provides a transmogrifier pipeline section for updating field values of dexterity content objects. The blueprint name is transmogrify.dexterity.schemaupdater.

The schemaupdater section needs at least the path to the object to update. Paths to objects are always interpreted as being relative to the context. Any writable field who’s id matches a key in the current item will be updated with the corresponding value.

Fields that do not get a value from the pipeline are initialized with their default value or get a missing_value marker. This functionality will be moved into a separate constructor pipeline…

The schmemaupdater section can also handle fields defined in behaviors.

Actually tested and supported fields

  • TextLine or Text

  • Bool

  • List

  • NamedFileField

    needs a dict with data and filename or get the filename in a seperated value from the pipeline

  • Date

    needs a datetime.date or datetime.datetime object, or a string in the following format “%Y-%m-%d”

Default pipelines

This package also registers a number of pipelines for you to use. To add them to a GenericSetup profile, create a transmogrifier.txt with the name of the pipeline you wish to use.

transmogrify.dexterity.csvimport

This pipeline will convert a CSV file into dexterity content. By default, the CSV file will be found in /tmp/entries.csv.

NB: Unfortunately it cannot read files out of GS profiles, this is a limitation in the csvsource, one I may well fix.

Any column beyond the ones listed below will be presumed to be a Dexterity field, and will be updated. Special columns are:

  • _type

    portal_type of content (optional, default is Document)

  • _path

    Full path to content item, including content item.

  • _folder

    Folder containing item, id will be derived from title

  • _transitions

    Workflow transition (optional, default is “publish”)

TODO

  • General support for all fields

  • Tests

Changelog

1.1 (2013-07-23)

  • Don’t try to write readonly fields [djowett]

  • Added in a generic CSV -> content pipeline [lentinj]

1.0 (2011-11-17)

  • Updated changelog to be zest releaser compatible [lgraf]

1.0a5 (2011-07-18)

  • Added check-constraints option to schemaupdater section. If set to False, field values that are set in the schemaupdater section won’t be validated against the field’s constraints. [lgraf]

  • Made CollectionDeserializer cast None and empty string to an empty list [lgraf]

  • Added a basic DateDeserializer [lgraf]

  • Using new-style classes for [de]serializers [lgraf]

1.0a4 (2011-06-07)

  • Ensure RichTextValue gets a decoded unicode string, add tests [lentinj]

  • Refactor to support more field types. [elro]

1.0a3 (2010-03-12)

  • Fixed bug in typechecking of values for Boolean fields [lgraf]

  • fixed dateconverting [phgross]

  • fixed value check: so that it works correctly with an empty string [phgross]

  • fixed handling for list and bool fields [phgross]

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

transmogrify.dexterity-1.1.zip (26.7 kB view hashes)

Uploaded Source

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