예제 #1
0
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)