#!/opt/dosis2/bin/python3-venv

import glob
import os
import sys

from typing import List, Dict


def __generate_ubuntu_openvpn_service_names():
    # type: () -> List[str]
    service_names = []
    for f in glob.glob('/etc/openvpn/*.conf'):
        service_names.append(
            'openvpn@%s.service' % os.path.splitext(
                os.path.basename(f))[0])
    return service_names


def __get_service_translations(_operating_system):
    # type: (str) -> Dict[str, List[str]]
    translations = {
        'apache': ['apache2'],
        'memcached': ['memcached'],
        'cups': ['cups'],
        'openvpn': __generate_ubuntu_openvpn_service_names(),
        'l60': ['dosis-l60'],
        'pmis': ['dosis-pmis'],
        'extprint': ['dosis-extprint'],
        'postgresql': ['postgresql'],
        'dbmonitor': ['dosis-dbmonitor'],
        'alerter': ['dosis-alerter'],
        'dosis-cache-updater': ['dosis-cache-updater'],
        'tower-tunnel': ['tower-tunnel-refresh.timer'],
        'ramp-monitor': ['dosis-ramp-monitor'],
    }

    return translations


def main():
    operating_system, service_name = sys.argv[1], sys.argv[2]
    for servicename in __get_service_translations(operating_system)[service_name]:
        print(servicename)


main()
