<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_default_config_path():
 """ Returns the basic edisgo config path. If it does not yet exist it creates it and copies all default config files into it. Returns -------- :obj:`str` Path to default edisgo config directory specified in config file 'config_system.cfg' in section 'user_dirs' by subsections 'root_dir' and 'config_dir'. """

    config_dir = get('user_dirs', 'config_dir')
    root_dir = get('user_dirs', 'root_dir')
    root_path = os.path.join(os.path.expanduser('~'), root_dir)
    config_path = os.path.join(root_path, config_dir)

    # root directory does not exist
    if not os.path.isdir(root_path):
        # create it
        logger.info('eDisGo root path {} not found, I will create it.'
                    .format(root_path))
        make_directory(root_path)

    # config directory does not exist
    if not os.path.isdir(config_path):
        # create it
        config_path = os.path.join(root_path, config_dir)
        make_directory(config_path)

        # copy default config files
        logger.info('eDisGo config path {} not found, I will create it.'
                    .format(config_path))

    # copy default config files if they don't exist
    internal_config_dir = os.path.join(package_path, 'config')
    for file in glob(os.path.join(internal_config_dir, '*.cfg')):
        filename = os.path.join(config_path,
                                os.path.basename(file).replace('_default', ''))
        if not os.path.isfile(filename):
            logger.info('I will create a default config file {} in {}'
                        .format(file, config_path))
            shutil.copy(file, filename)
    return config_path