wrapper method which generates the manifest from various sources

def load_manifest(raw_manifest, namespace=None, **kwargs):
    """ wrapper method which generates the manifest from various sources """
    if isinstance(raw_manifest, configparser.RawConfigParser):
        return Manifest(raw_manifest)

    manifest = create_configparser()

    if not manifest.has_section('config'):
        manifest.add_section('config')

    _load_manifest_interpret_source(manifest,
                                    raw_manifest,
                                    **kwargs)
    return Manifest(manifest, namespace=namespace)