def migrate_sl_image_layout(old_object, new_object): block_layout_mapping = { 'small': { 'scale': 'sl_textblock_small', 'imagefloat': 'left'}, 'middle': { 'scale': 'sl_textblock_middle', 'imagefloat': 'left'}, 'full': { 'scale': 'sl_textblock_large', 'imagefloat': 'no-float'}, 'middle-right': { 'scale': 'sl_textblock_middle', 'imagefloat': 'right'}, 'small-right': { 'scale': 'sl_textblock_small', 'imagefloat': 'right'}, 'no-image': { 'scale': 'sl_textblock_small', 'imagefloat': 'left'}, } old_config = IBlockConfig(old_object) image_layout = old_config.get_image_layout() if not image_layout or image_layout == 'dummy-dummy-dummy': return new_config = IBlockConfiguration(new_object) cfg = new_config.load() cfg.update(block_layout_mapping[image_layout]) new_config.store(cfg)