コード例 #1
0
ファイル: main.py プロジェクト: dacjames/env2config
def inject(root_config_dir):
    '''Inject Step'''

    configs_to_inject = []
    logger.debug('injecting configs from directory %s', root_config_dir)

    def find_service(root, service, tags):
        # e.g. ./default_configs/redis
        logger.debug('found service %s', service_name)
        service_name_directory = os.path.join(root, service_name)
        for version in os.listdir(service_name_directory):
            logger.debug('found service %s version %s', service_name, version)
            # second level, folders as versions
            # e.g. ./default_configs/redis/3.0.1
            version_directory = os.path.join(service_name_directory, version)
            configs_to_inject.append(
                (service_name, version, version_directory, tags)
            )

    # e.g. ./default_configs
    for service_or_tag_name in os.listdir(root_config_dir):
        # first level, folders are service names or tag directories
        # tag directories are located by finding an '=' in the name

        if '=' in service_or_tag_name:
            tag_name = service_or_tag_name
            tag_directory = os.path.join(root_config_dir, tag_name)
            logger.debug('found tags %s', tag_name)

            tag_strings = tag_name.split(',')
            tags = util.tags_to_dict(tag_strings)
            logger.debug('parsed tags %s', tags)

            for service_name in os.listdir(tag_directory):
                find_service(tag_directory, service_name, tags)

        else:
            service_name = service_or_tag_name
            find_service(root_config_dir, service_name, {})

    results = []
    for service_name, version, version_directory, tags in configs_to_inject:
        result = _inject_service(service_name, version, version_directory, tags)
        results.append(result)

    return all(results)
コード例 #2
0
def inject(root_config_dir):
    '''Inject Step'''

    configs_to_inject = []
    logger.debug('injecting configs from directory %s', root_config_dir)

    def find_service(root, service, tags):
        # e.g. ./default_configs/redis
        logger.debug('found service %s', service_name)
        service_name_directory = os.path.join(root, service_name)
        for version in os.listdir(service_name_directory):
            logger.debug('found service %s version %s', service_name, version)
            # second level, folders as versions
            # e.g. ./default_configs/redis/3.0.1
            version_directory = os.path.join(service_name_directory, version)
            configs_to_inject.append(
                (service_name, version, version_directory, tags))

    # e.g. ./default_configs
    for service_or_tag_name in os.listdir(root_config_dir):
        # first level, folders are service names or tag directories
        # tag directories are located by finding an '=' in the name

        if '=' in service_or_tag_name:
            tag_name = service_or_tag_name
            tag_directory = os.path.join(root_config_dir, tag_name)
            logger.debug('found tags %s', tag_name)

            tag_strings = tag_name.split(',')
            tags = util.tags_to_dict(tag_strings)
            logger.debug('parsed tags %s', tags)

            for service_name in os.listdir(tag_directory):
                find_service(tag_directory, service_name, tags)

        else:
            service_name = service_or_tag_name
            find_service(root_config_dir, service_name, {})

    results = []
    for service_name, version, version_directory, tags in configs_to_inject:
        result = _inject_service(service_name, version, version_directory,
                                 tags)
        results.append(result)

    return all(results)
コード例 #3
0
ファイル: cli.py プロジェクト: dacjames/env2config
def main_build(args):
    logger.debug('args: %s', args)
    tags = tags_to_dict(args.tag)
    ensure(
        build(args.service_name, args.version, args.default_config_folder,
              tags))
コード例 #4
0
ファイル: cli.py プロジェクト: dacjames/env2config
def main_build(args):
    logger.debug('args: %s', args)
    tags = tags_to_dict(args.tag)
    ensure(build(args.service_name, args.version, args.default_config_folder, tags))