This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
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”
  • Datetime
    needs a datetime.datetime object, or a string parseable by DateTime.DateTime e.g. “2015-12-31 17:59:59” or “2004/12/30 00:20:00 GMT+1” etc.

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. To use it:

  • Name your CSV entries.csv
  • Create a file called transmogrifier.txt with the one line transmogrify.dexterity.csvimport
  • Add both to a .tar.gz file
  • Visit /Plone/portal_setup/manage_importSteps
  • Select the tarball you just made
  • “Import uploaded tarball”

…or add it as part of another GS profile.

The first row of the CSV is presumed to be column headings. Unless a special column, the column will be presumed to be a dexterity property to update on the type. Special column names 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.6.3 (2016-10-11)

  • Refactor DexterityUpdateSection: Factor out determining default value, getting value from pipeline and updating fields into their own methods. [lgraf]

1.6.2 (2016-05-24)

  • Fix blueprint context for support with transmogrifier package (not collective.transmogrifier), which does not have dependencies to CMFPlone and thus doesn’t provide a useful context. [thet]

1.6.1 (2015-09-30)

  • Do not import from deprecated zope.app.intid anymore, use zope.intid instead [jensens]
  • Fix deserializer if datetime is string “None”. [elioschmutz]

1.6.0 (2015-08-28)

  • Implement new deserializer for datetime fields. [mbaechtold]

1.5.2 (2015-07-13)

1.5.1 (2015-05-27)

  • Make z3c.relationfield imports conditional. [jone]

1.5 (2015-05-26)

  • When retrieving the object via traversal from the path, check if it provides IDexterityContent. Traversal can also return attributes of objects, if no object can be found but the path element is named like an attribute. [thet]
  • Handle collective.jsonify structures, specifically _datafield_FIELDNAME and _content_type_FIELDNAME keys. [thet]
  • PEP8. [thet]
  • Add value converters for z3c.relationfield relation(-lists). [deiferni]

1.4 (2014-11-06)

  • Add blueprint for managing plone.app.multilingual translations [rnix]

1.3 (2014-07-25)

  • Use zope.dottedname.resolve to find class [lentinj]
  • Serialize/Deserialize zope.schema.IObjects [lentinj]
  • Add ‘logger’ and ‘loglevel’ options so invalid fields are logged when disable-constraints is True [ebrehault]

1.2 (2013-08-29)

  • Only update with a default value if there isn’t a value already set on the field. (NB: before a default value would be set, regardless of the current field value). [lentinj]

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]
Release History

Release History

1.6.3

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.6.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.6.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.6.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.5.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.5.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.5

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.0a5

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.0a4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.0a3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
transmogrify.dexterity-1.6.3.tar.gz (20.5 kB) Copy SHA256 Checksum SHA256 Source Oct 11, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting