summaryrefslogtreecommitdiff
path: root/tests/unittests/distros/__init__.py
blob: e66b9446a28bfd76531b40602b65152c3206e3bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# This file is part of cloud-init. See LICENSE file for license information.
import copy

from cloudinit import distros, helpers, settings


def _get_distro(dtype, system_info=None):
    """Return a Distro class of distro 'dtype'.

    cfg is format of CFG_BUILTIN['system_info'].

    example: _get_distro("debian")
    """
    if system_info is None:
        system_info = copy.deepcopy(settings.CFG_BUILTIN["system_info"])
    system_info["distro"] = dtype
    paths = helpers.Paths(system_info["paths"])
    distro_cls = distros.fetch(dtype)
    return distro_cls(dtype, system_info, paths)