#!/usr/bin/env python3
# This file is part of cloud-init. See LICENSE file for license information.

"""cloudconfig-schema

Validate existing files against cloud-config schema or provide supported schema
documentation.
"""

import os
import sys


def call_entry_point(name):
    (istr, dot, ent) = name.rpartition('.')
    try:
        __import__(istr)
    except ImportError:
        # if that import failed, check dirname(__file__/..)
        # to support ./bin/program with modules in .
        _tdir = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
        sys.path.insert(0, _tdir)
        try:
            __import__(istr)
        except ImportError as e:
            sys.stderr.write("Unable to find %s: %s\n" % (name, e))
            sys.exit(2)

    sys.exit(getattr(sys.modules[istr], ent)())


if __name__ == '__main__':
    call_entry_point("cloudinit.config.schema.main")
