def _configure(config_dir, image_name, aws_region, aws_profile, python_version, requirements_dir): try: config_manager = ConfigManager(os.path.join(config_dir, '.sagify.json')) config = config_manager.get_config() if image_name is not None: config.image_name = image_name if aws_region is not None: config.aws_region = aws_region if aws_profile is not None: config.aws_profile = aws_profile if python_version is not None: config.python_version = python_version if requirements_dir is not None: config.requirements_dir = requirements_dir config_manager.set_config(config) logger.info("\nConfiguration updated successfully!\n") except ValueError as e: logger.info("{}".format(e)) sys.exit(-1)
def _template_creation(app_name, aws_profile, aws_region, python_version, output_dir, requirements_dir): sagify_module_name = 'sagify_base' sagify_exists = os.path.exists(os.path.join(output_dir, sagify_module_name)) if sagify_exists: raise ValueError("There is a sagify directory/module already. " "Please, rename it in order to use sagify.") Path(output_dir).mkdir(exist_ok=True) Path(os.path.join(output_dir, '__init__.py')).touch() # Set 'sagify module' directory up copy_tree(os.path.join(_FILE_DIR_PATH, '../template'), output_dir) # Set configuration file up config_manager = ConfigManager(os.path.join('.sagify.json')) config = config_manager.get_config() config.image_name = app_name config.aws_region = aws_region config.aws_profile = aws_profile config.sagify_module_dir = output_dir config.python_version = python_version config.requirements_dir = requirements_dir config_manager.set_config(config)
def test_config(tmpdir): config_file = tmpdir.join('config.json') config_file.write(""" { "image_name": "keras-app-img", "aws_profile": "sagemaker", "aws_region": "us-east-1" } """) config_manager = ConfigManager(str(config_file)) actual_config_obj = config_manager.get_config() assert actual_config_obj.to_dict() == Config( image_name="keras-app-img", aws_profile="sagemaker", aws_region="us-east-1").to_dict()
def test_config(tmpdir): config_file = tmpdir.join('config.json') config_file.write(""" { "image_name": "keras-app-img", "aws_profile": "sagemaker", "aws_region": "us-east-1", "python_version": "3.6", "sagify_module_dir": "keras-app-img", "requirements_dir": "requirements.txt" } """) config_manager = ConfigManager(str(config_file)) actual_config_obj = config_manager.get_config() assert actual_config_obj.to_dict() == Config( image_name="keras-app-img", aws_profile="sagemaker", aws_region="us-east-1", python_version="3.6", sagify_module_dir="keras-app-img", requirements_dir="requirements.txt").to_dict()