Find raw template in working directory or in sys.path.

    template_path from config may refer to templates colocated with the Stacker
    config, or files in remote package_sources. Here, we emulate python module
    loading to find the path to the template.

    Args:
        filename (str): Template filename.

    Returns:
        Optional[str]: Path to file, or None if no file found

def get_template_path(filename):
    """Find raw template in working directory or in sys.path.

    template_path from config may refer to templates colocated with the Stacker
    config, or files in remote package_sources. Here, we emulate python module
    loading to find the path to the template.

    Args:
        filename (str): Template filename.

    Returns:
        Optional[str]: Path to file, or None if no file found

    """
    if os.path.isfile(filename):
        return os.path.abspath(filename)
    for i in sys.path:
        if os.path.isfile(os.path.join(i, filename)):
            return os.path.abspath(os.path.join(i, filename))

    return None