#!/usr/bin/env python3

import fnmatch
import os

CONFIGS = {
    'statbox': ('/etc/yandex/statbox-push-client/', '*.yaml')
}


def get_environ():
    env = dict(os.environ)
    env.setdefault('STATBOX_IDENT', 'rasp-front')
    return env


def resolve_variables(filename):
    with open(filename, 'r') as f:
        contents = f.read()
    for name, value in get_environ().items():
        contents = contents.replace('{{{}}}'.format(name), value)
    with open(filename, 'w') as f:
        f.write(contents)


if __name__ == '__main__':
    for service in CONFIGS:
        path, file_pattern = CONFIGS[service]
        for root, dirnames, filenames in os.walk(path):
            for filename in fnmatch.filter(filenames, file_pattern):
                resolve_variables(os.path.join(root, filename))
