Property manager section ======================== The marshall section blueprint name is ``quintagroup.transmogrifier.propertymanager``. Property manager needs at least 1 piece of information: the path to the object to update. To determine the path, the marshall section inspects each item and looks for one key, as described below. Any item missing this piece of information will be skipped. Similarly, items with a path that doesn't exist or are not objects that provide OFS.interfaces.IPropertyManager will be skipped as well. Paths to objects are always interpreted as relative to the context. >>> import pprint >>> propertymanager = """ ... [transmogrifier] ... pipeline = ... propertymanagersource ... propertymanager ... printer ... dataprinter ... ... [propertymanagersource] ... blueprint = quintagroup.transmogrifier.tests.propertymanagersource ... ... [propertymanager] ... blueprint = quintagroup.transmogrifier.propertymanager ... exclude = ... propone ... proptwo ... notexistentprop ... ... [printer] ... blueprint = collective.transmogrifier.sections.tests.pprinter ... ... [dataprinter] ... blueprint = quintagroup.transmogrifier.tests.dataprinter ... print = ... _files ... propertymanager ... data ... """ >>> registerConfig(u'quintagroup.transmogrifier.tests.propertymanager', propertymanager) >>> transmogrifier(u'quintagroup.transmogrifier.tests.propertymanager') # doctest: +ELLIPSIS, +REPORT_NDIFF {'_excluded_properties': ('proptwo', 'propthree'), '_files': {'propertymanager': {'data': ... 'name': '.properties.xml'}}, '_path': 'spam/eggs/foo'} value {'_path': 'not/existing/bar'} {} {'_path': 'spam/eggs/notatcontent'} >>> pprint.pprint(plone.updated) ('spam/eggs/foo',)