#!{{ ansible_python['executable'] }}
# -*- coding: utf-8 -*-

# Copyright (C) 2020 Maciej Delmanowski <drybjed@gmail.com>
# Copyright (C) 2020 DebOps <https://debops.org/>
# SPDX-License-Identifier: GPL-3.0-only

# {{ ansible_managed }}

from __future__ import print_function
from json import loads, dumps
import subprocess
import os


def cmd_exists(cmd):
    return any(
        os.access(os.path.join(path, cmd), os.X_OK)
        for path in os.environ["PATH"].split(os.pathsep)
    )


output = {'installed': cmd_exists('rsyslogd')}

try:
    version_stdout = subprocess.check_output(
            ["rsyslogd", "-v"]
            ).decode('utf-8').strip()
    for line in version_stdout.split('\n'):
        if line.lower().startswith('rsyslogd '):
            output['version'] = line.split()[1].rstrip(',')
except Exception:
    pass

print(dumps(output, sort_keys=True, indent=4))
