def test_manage_new_model(): manage.set_model_repository(MODEL_REPOSITORY) manage.action_new(MODEL_NAME) home_dirs = list(pathlib.Path(MODEL_REPOSITORY).iterdir()) case = pathlib.Path(os.path.join(MODEL_REPOSITORY, MODEL_NAME)) assert case in home_dirs
def test_module_path_module_name(): """ Tests if importlib.module_import() works """ models_dir = MODEL_REPOSITORY manage.set_model_repository(models_dir) manage.action_new(MODEL_NAME) module_name = utils.module_path(MODEL_NAME, 0) assert module_name == (MODEL_NAME + '.dev')
def test_module_path_sys_append(): """ Tests if model directory is in sys.path to use importlib.module_import() for child model classes. """ models_dir = MODEL_REPOSITORY manage.set_model_repository(models_dir) manage.action_new(MODEL_NAME) utils.module_path(MODEL_NAME, 0) assert sys.path[0] == models_dir
def post(self, request, modelname): """ Creates a new flame model """ flame_status = manage.action_new(modelname) if flame_status[1] == f"Endpoint {modelname} already exists": return JsonResponse({'error': flame_status[1]}, status=status.HTTP_409_CONFLICT) response = {"modelName": modelname, "versions": "0"} return JsonResponse(response, status=status.HTTP_201_CREATED)
def manage_cmd(args): ''' Calls diverse model maintenance commands ''' import flame.manage as manage version = utils.intver(args.version) if args.action == 'new': # check if config model repo path is correct utils.check_repository_path() success, results = manage.action_new(args.endpoint) elif args.action == 'kill': success, results = manage.action_kill(args.endpoint) elif args.action == 'remove': success, results = manage.action_remove(args.endpoint, version) elif args.action == 'publish': success, results = manage.action_publish(args.endpoint) elif args.action == 'list': success, results = manage.action_list(args.endpoint) elif args.action == 'import': success, results = manage.action_import(args.infile) elif args.action == 'export': success, results = manage.action_export(args.endpoint) elif args.action == 'refactoring': success, results = manage.action_refactoring(args.file) elif args.action == 'info': success, results = manage.action_info(args.endpoint, version) elif args.action == 'results': success, results = manage.action_results(args.endpoint, version) elif args.action == 'parameters': success, results = manage.action_parameters(args.endpoint, version) elif args.action == 'dir': success, results = manage.action_dir() elif args.action == 'report': success, results = manage.action_report() else: success = False results = "Specified manage action is not defined" return success, results
def manage_cmd(args): ''' Instantiates a Build object to build a model using the given input file (training series) and model (name of endpoint, eg. 'CACO2') ''' version = utils.intver(args.version) if args.action == 'new': # check if config model repo path is correct utils.check_repository_path() success, results = manage.action_new(args.endpoint) elif args.action == 'kill': success, results = manage.action_kill(args.endpoint) elif args.action == 'remove': success, results = manage.action_remove(args.endpoint, version) elif args.action == 'publish': success, results = manage.action_publish(args.endpoint) elif args.action == 'list': success, results = manage.action_list(args.endpoint) elif args.action == 'import': success, results = manage.action_import(args.infile) elif args.action == 'export': success, results = manage.action_export(args.endpoint) elif args.action == 'refactoring': success, results = manage.action_refactoring(args.file) elif args.action == 'dir': success, results = manage.action_dir() elif args.action == 'info': success, results = manage.action_info(args.endpoint, version) elif args.action == 'results': success, results = manage.action_results(args.endpoint, version) else: raise ValueError("Specified action does not exist.") print('flame : ', results)
def manage_cmd(args): ''' Calls diverse model or space maintenance commands ''' version = utils.intver(args.version) if args.space is not None or 'searches' in args.action : import flame.smanage as smanage if args.action == 'new': success, results = smanage.action_new(args.space) elif args.action == 'kill': success, results = smanage.action_kill(args.space) elif args.action == 'remove': success, results = smanage.action_remove(args.space, version) elif args.action == 'publish': success, results = smanage.action_publish(args.space) elif args.action == 'list': success, results = smanage.action_list(args.space) elif args.action == 'parameters': success, results = smanage.action_parameters(args.space, version) elif args.action == 'info': success, results = smanage.action_info(args.space, version) elif args.action == 'dir': success, results = smanage.action_dir() elif args.action == 'searches_result': success, results = smanage.action_searches_result(args.label) else: success = False results = "Specified manage action is not defined" else: import flame.manage as manage if args.action == 'new': success, results = manage.action_new(args.endpoint) elif args.action == 'kill': success, results = manage.action_kill(args.endpoint) elif args.action == 'remove': success, results = manage.action_remove(args.endpoint, version) elif args.action == 'publish': success, results = manage.action_publish(args.endpoint) elif args.action == 'list': success, results = manage.action_list(args.endpoint) elif args.action == 'export': success, results = manage.action_export(args.endpoint) elif args.action == 'info': success, results = manage.action_info(args.endpoint, version) elif args.action == 'refresh': if args.version == None: version = None success, results = manage.action_refresh(args.endpoint, version) elif args.action == 'series': success, results = manage.action_series(args.endpoint, version) elif args.action == 'results': success, results = manage.action_results(args.endpoint, version) elif args.action == 'parameters': success, results = manage.action_parameters(args.endpoint, version) elif args.action == 'documentation': success, results = manage.action_documentation(args.endpoint, version, args.documentation_file) elif args.action == 'model_template': success, results = manage.action_model_template(args.endpoint, version, args.documentation_file) elif args.action == 'prediction_template': success, results = manage.action_prediction_template(args.endpoint, version) elif args.action == 'import': success, results = manage.action_import(args.infile) elif args.action == 'dir': success, results = manage.action_dir() elif args.action == 'report': success, results = manage.action_report() elif args.action == 'list': success, results = manage.action_list(args.endpoint) elif args.action == 'predictions': success, results = manage.action_predictions_list() elif args.action == 'predictions_result': success, results = manage.action_predictions_result(args.label) elif args.action == 'predictions_remove': success, results = manage.action_predictions_remove(args.label) elif args.action == 'label': success, results = manage.action_label(args.endpoint, version, args.label) else: success = False results = "Specified manage action is not defined" return success, results
def make_model(): manage.set_model_repository(MODEL_REPOSITORY) return manage.action_new(MODEL_NAME)
def POST(self, model): if re.match('^[\w-]+$', model): result = manage.action_new(model) return str(result[1]) else: return "Non alphanumeric character detected. Aborting operation"