from bundlewrap.metadata import atomic

defaults = {
    'apt': {
        'repos': {
            'deb-multimedia': {
                'items': {
                    'deb https://ftp-stud.hs-esslingen.de/pub/Mirrors/debian-multimedia/ {os_release} main',
                    #'deb https://ftp-stud.hs-esslingen.de/pub/Mirrors/debian-multimedia/ {os_release}-backports main',
                },
            },
        },
        'packages': {
            'cec-utils': {},
            'fonts-noto': {},
            'fonts-roboto': {},
            'kodi': {},
            'kodi-inputstream-adaptive': {},
            'libasound2': {},
            'ttf-mscorefonts-installer': {},
            'tv-fonts': {},
            'xfonts-base': {},
            'xinit': {},
            'xserver-xorg': {},
            'xserver-xorg-legacy': {},
        },
    },
    'backups': {
        'paths': {
            '/home/kodi',
        },
    },
    'users': {
        'kodi': {
            'groups': {
                'audio',
                'tty',
                'video',
            },
        },
    },
}


@metadata_reactor.provides(
    'firewall/port_rules',
    'firewall/port_rules',
)
def firewall(metadata):
    return {
        'firewall': {
            'port_rules': {
                '8080/tcp': atomic(metadata.get('kodi/restrict-to', {'*'})),
                '9090/tcp': atomic(metadata.get('kodi/restrict-to', {'*'})),
            },
        },
    }
