Processes the session section from the configuration data dict.

    :param config: The config reference of the object that will hold the
    configuration data from the config_data.
    :param session_config: Session configuration section from a config data
    dict.

def process_session_config_section(config, session_config):
    """ Processes the session section from the configuration data dict.

    :param config: The config reference of the object that will hold the
    configuration data from the config_data.
    :param session_config: Session configuration section from a config data
    dict.
    """
    # Setting session type as file by default
    config.session['type'] = 'file'
    if 'enabled' in session_config:
        config.session['enabled'] = session_config['enabled']
    if 'type' in session_config:
        config.session['type'] = session_config['type']
        if config.session['type'] == 'file':
            if 'path' in session_config:
                config.session['file']['path'] = session_config['path']
        if config.session['type'] == 'redis':
            if 'data' in session_config:
                if 'source' in session_config['data']:
                    config.session['redis']['data']['source'] = session_config[
                        'data']['source']
    if 'handlers' in session_config:
        for handler in session_config['handlers']:
            handler_class_x = handler['class'].split('.')
            handler['class'] = handler_class_x[-1]
            handler['module'] = '.'.join(handler_class_x[:-1][:])
            config.session['handlers'][handler['name']] = handler
            del config.session['handlers'][handler['name']]['name']
    if 'encoders' in session_config:
        for encoder in session_config['encoders']:
            encoder_class_x = encoder['class'].split('.')
            encoder['encoder'] = encoder_class_x[-1]
            encoder['class'] = encoder_class_x[-1]
            encoder['module'] = '.'.join(encoder_class_x[:-1][:])
            config.session['encoders'][encoder['name']] = encoder
            del config.session['encoders'][encoder['name']]['name']
    if 'id_generators' in session_config:
        for generator in session_config['id_generators']:
            generator_ref_x = generator['function'].split('.')
            generator['function'] = generator_ref_x[-1]
            generator['module'] = '.'.join(generator_ref_x[:-1][:])
            config.session['id_generators'][generator['name']] = generator
            del config.session['id_generators'][generator['name']]['name']
    if 'name' in session_config:
        config.session['name'] = session_config['name']
    if 'life_time' in session_config:
        config.session['life_time'] = session_config['life_time']
    if 'callback_hiccup' in session_config:
        config.session['callback_hiccup'] = session_config['callback_hiccup']
    if 'callback_time' in session_config:
        config.session['callback_time'] = session_config['callback_time']
    if 'purge_limit' in session_config:
        config.session['purge_limit'] = session_config['purge_limit']