# All Rights Reserved.
#
#    Licensed under the Apache License, Version 2.0 (the "License"); you may
#    not use this file except in compliance with the License. You may obtain
#    a copy of the License at
#
#         http://www.apache.org/licenses/LICENSE-2.0
#
#    Unless required by applicable law or agreed to in writing, software
#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
#    License for the specific language governing permissions and limitations
#    under the License.

import json
import os.path


def looks_like_a_module(workdir, repo):
    "Does the directory look like it contains a puppet module?"
    if not os.path.exists(os.path.join(workdir, repo, 'metadata.json')):
        return False
    return any([
        os.path.exists(os.path.join(workdir, repo, 'lib')),
        os.path.exists(os.path.join(workdir, repo, 'manifests')),
    ])


def get_metadata(workdir, repo):
    "Load the metadata.json file from the repo"
    with open(os.path.join(workdir, repo, 'metadata.json'), 'r') as f:
        body = f.read()
    return json.loads(body)


def get_version(workdir, repo):
    "Get the version string from the project metadata."
    return get_metadata(workdir, repo).get('version')