def migrate(self, old, new): marker.mark(new, ILogoMarker) for name, field in schema.getFieldsInOrder(ILogoContent): migrate_simplefield(old, ILogoContent(new), name, name) _logger.info("Migrating Logo Content for %s" % new.absolute_url())
def migrate_leadimage(source_object, target_object): """ Migrate images added using collective.contentleadimage to the ILeadImage-behavior of plone.app.contenttypes if it is enabled. """ OLD_LEADIMAGE_FIELD_NAME = 'leadImage' OLD_CAPTION_FIELD_NAME = 'leadImage_caption' NEW_LEADIMAGE_FIELD_NAME = 'image' NEW_CAPTION_FIELD_NAME = 'image_caption' if not source_object.getField(OLD_LEADIMAGE_FIELD_NAME): # skip if old content has no field return if ILeadImage(target_object, None) is None: # skip if new content does not have the LeadImage-behavior enabled logger.info("Target does not have the behavior 'Lead Image' enabled. " "Could not migrate collective.leadimage fields.") return # handle image field migrate_imagefield( source_object, target_object, OLD_LEADIMAGE_FIELD_NAME, NEW_LEADIMAGE_FIELD_NAME) # handle image caption field migrate_simplefield( source_object, target_object, OLD_CAPTION_FIELD_NAME, NEW_CAPTION_FIELD_NAME) logger.info( "Migrating contentlead image for." % target_object.absolute_url())
def migrate_leadimage(source_object, target_object): """ Migrate images added using collective.contentleadimage to the ILeadImage-behavior of plone.app.contenttypes if it is enabled. """ OLD_LEADIMAGE_FIELD_NAME = 'leadImage' OLD_CAPTION_FIELD_NAME = 'leadImage_caption' NEW_LEADIMAGE_FIELD_NAME = 'image' NEW_CAPTION_FIELD_NAME = 'image_caption' if not source_object.getField(OLD_LEADIMAGE_FIELD_NAME): # skip if old content has no field return if ILeadImage(target_object, None) is None: # skip if new content does not have the LeadImage-behavior enabled logger.info("Target does not have the behavior 'Lead Image' enabled. " "Could not migrate collective.leadimage fields.") return # handle image field migrate_imagefield(source_object, target_object, OLD_LEADIMAGE_FIELD_NAME, NEW_LEADIMAGE_FIELD_NAME) # handle image caption field migrate_simplefield(source_object, target_object, OLD_CAPTION_FIELD_NAME, NEW_CAPTION_FIELD_NAME) logger.info("Migrating contentlead image for." % target_object.absolute_url())
def migrate_leadimage(source_object, target_object): """ Migrate images added using collective.contentleadimage to the ILeadImage-behavior of plone.app.contenttypes if it is enabled. """ OLD_LEADIMAGE_FIELD_NAME = 'leadImage' OLD_CAPTION_FIELD_NAME = 'leadImage_caption' NEW_LEADIMAGE_FIELD_NAME = 'image' NEW_CAPTION_FIELD_NAME = 'image_caption' if not source_object.getField(OLD_LEADIMAGE_FIELD_NAME): # skip if old content has no field return if ILeadImage(target_object, None) is None: # skip if new content does not have the LeadImage-behavior enabled logger.info('Target does not have the behavior "Lead Image" enabled. ' 'Could not migrate collective.leadimage fields.') return acc = source_object.getField(OLD_LEADIMAGE_FIELD_NAME).getAccessor( source_object)() if getattr(acc, 'filename', None) is None: # skip if old content has field but has no lead image in the field return # handle image field migrate_imagefield(source_object, target_object, OLD_LEADIMAGE_FIELD_NAME, NEW_LEADIMAGE_FIELD_NAME) # handle image caption field migrate_simplefield(source_object, target_object, OLD_CAPTION_FIELD_NAME, NEW_CAPTION_FIELD_NAME) logger.info('Migrating contentlead image for {0}.'.format( target_object.absolute_url()))
def migrate(self, old, new): marker.mark(new, IFlowViewMarker) for name, field in schema.getFieldsInOrder(IFlowViewSettings): migrate_simplefield(old, IFlowViewSettings(new), name, name) _logger.info( "Migrating FlowView Settings for %s" % new.absolute_url())
def test_migrate_stringfield(self): # create content at_document_id = self.portal.invokeFactory('Document', 'foo', title="Foo document") # register p.a.contenttypes profile applyProfile(self.portal, 'plone.app.contenttypes:default') dx_document_id = self.portal.invokeFactory('Document', 'bar', title="Bar document") at_document = self.portal[at_document_id] dx_document = self.portal[dx_document_id] migrate_simplefield(at_document, dx_document, 'title', 'title') self.assertEqual(dx_document.Title(), at_document.Title())
def migrate_schema_fields(self): migrate_simplefield(self.old, self.new, 'artist', 'artist') migrate_simplefield(self.old, self.new, 'country', 'country') migrate_simplefield(self.old, self.new, 'year', 'year') migrate_richtextfield(self.old, self.new, 'notes', 'notes') migrate_simplefield(self.old, self.new, 'imgUrl', 'img_url') migrate_imagefield(self.old, self.new, 'image', 'image')
def test_migrate_richtextfield(self): # create content at_document_id = self.portal.invokeFactory('Document', 'foo', title="Foo document", text="Some foo html text") # register p.a.contenttypes profile applyProfile(self.portal, 'plone.app.contenttypes:default') dx_document_id = self.portal.invokeFactory('Document', 'bar', title="Bar document") at_document = self.portal[at_document_id] dx_document = self.portal[dx_document_id] self.assertEqual(dx_document.text, None) migrate_simplefield(at_document, dx_document, 'text', 'text') self.assertEqual(dx_document.text, at_document.getText())
def migrate_schema_fields(self): migrate_richtextfield(self.old, self.new, 'text', 'text') wrapped_new = ICollection(self.new) # using migrate_simplefield on 'query' returns the ContentListing obj wrapped_new.query = self.old.query migrate_simplefield(self.old, wrapped_new, 'sort_on', 'sort_on') migrate_simplefield(self.old, wrapped_new, 'sort_reversed', 'sort_reversed') migrate_simplefield(self.old, wrapped_new, 'limit', 'limit') migrate_simplefield(self.old, wrapped_new, 'customViewFields', 'customViewFields')
def migrate_schema_fields(self): migrate_richtextfield(self.old, self.new, 'text', 'text') wrapped_new = ICollection(self.new) # using migrate_simplefield on 'query' returns the ContentListing obj wrapped_new.query = self.old.query migrate_simplefield(self.old, wrapped_new, 'sort_on', 'sort_on') migrate_simplefield( self.old, wrapped_new, 'sort_reversed', 'sort_reversed') migrate_simplefield(self.old, wrapped_new, 'limit', 'limit') migrate_simplefield( self.old, wrapped_new, 'customViewFields', 'customViewFields')
def test_migrate_listfield(self): # create content at_document_id = self.portal.invokeFactory( 'Document', 'foo', title='Foo document', subject=['aaa', 'bbb'], ) # register p.a.contenttypes profile applyProfile(self.portal, 'plone.app.contenttypes:default') dx_document_id = self.portal.invokeFactory( 'Document', 'bar', title='Bar document', ) at_document = self.portal[at_document_id] dx_document = self.portal[dx_document_id] migrate_simplefield(at_document, dx_document, 'subject', 'subject',) self.assertEqual(dx_document.Subject(), at_document.Subject())
def migrate_leadimage(source_object, target_object): """ Migrate images added using collective.contentleadimage to the ILeadImage-behavior of plone.app.contenttypes if it is enabled. """ OLD_LEADIMAGE_FIELD_NAME = 'leadImage' OLD_CAPTION_FIELD_NAME = 'leadImage_caption' NEW_LEADIMAGE_FIELD_NAME = 'image' NEW_CAPTION_FIELD_NAME = 'image_caption' if not source_object.getField(OLD_LEADIMAGE_FIELD_NAME): # skip if old content has no field return if ILeadImage(target_object, None) is None: # skip if new content does not have the LeadImage-behavior enabled logger.info('Target does not have the behavior "Lead Image" enabled. ' 'Could not migrate collective.leadimage fields.') return acc = source_object.getField( OLD_LEADIMAGE_FIELD_NAME).getAccessor(source_object)() if getattr(acc, 'filename', None) is None: # skip if old content has field but has no lead image in the field return # handle image field migrate_imagefield( source_object, target_object, OLD_LEADIMAGE_FIELD_NAME, NEW_LEADIMAGE_FIELD_NAME) # handle image caption field migrate_simplefield( source_object, target_object, OLD_CAPTION_FIELD_NAME, NEW_CAPTION_FIELD_NAME) logger.info('Migrating contentlead image for {0}.'.format( target_object.absolute_url()) )
def migrate_schema_fields(self): migrate_datetimefield(self.old, self.new, 'startDate', 'start') migrate_datetimefield(self.old, self.new, 'endDate', 'end') migrate_richtextfield(self.old, self.new, 'text', 'text') migrate_simplefield(self.old, self.new, 'location', 'location') migrate_simplefield(self.old, self.new, 'attendees', 'attendees') migrate_simplefield(self.old, self.new, 'eventUrl', 'event_url') migrate_simplefield(self.old, self.new, 'contactName', 'contact_name') migrate_simplefield(self.old, self.new, 'contactEmail', 'contact_email') migrate_simplefield(self.old, self.new, 'contactPhone', 'contact_phone') migrate_simplefield(self.old, self.new, 'wholeDay', 'whole_day') migrate_simplefield(self.old, self.new, 'openEnd', 'open_end') migrate_simplefield(self.old, self.new, 'recurrence', 'recurrence')
def migrate_schema_fields(self): migrate_richtextfield(self.old, self.new, 'text', 'text') migrate_blobimagefield(self.old, self.new, 'image', 'image') migrate_simplefield(self.old, self.new, 'imageCaption', 'imageCaption')
def migrate_schema_fields(self): migrate_simplefield(self.old, self.new, 'remoteUrl', 'remoteUrl')
def migrate_schema_fields(self): migrate_datetimefield(self.old, self.new, 'startDate', 'start') migrate_datetimefield(self.old, self.new, 'endDate', 'end') migrate_richtextfield(self.old, self.new, 'text', 'text') migrate_simplefield(self.old, self.new, 'location', 'location') migrate_simplefield(self.old, self.new, 'attendees', 'attendees') migrate_simplefield(self.old, self.new, 'eventUrl', 'event_url') migrate_simplefield(self.old, self.new, 'contactName', 'contact_name') migrate_simplefield( self.old, self.new, 'contactEmail', 'contact_email') migrate_simplefield( self.old, self.new, 'contactPhone', 'contact_phone') migrate_simplefield(self.old, self.new, 'wholeDay', 'whole_day') migrate_simplefield(self.old, self.new, 'openEnd', 'open_end') migrate_simplefield(self.old, self.new, 'recurrence', 'recurrence')