def post(self, request): file_object = request.FILES['model'] model_raw = file_object.name model_name = file_object.name.split('.') model_name = model_name[0] # base_path = utils.model_repository_path() base_path = tempfile.gettempdir() # delete any previously existing file, e.g., from a failed import if (os.path.isfile(os.path.join(base_path, model_raw))): os.remove(os.path.join(base_path, model_raw)) fs = FileSystemStorage(location=base_path) tarname = fs.save(file_object.name, file_object) tarpath = os.path.join(base_path, tarname) flame_status = manage.action_import(tarpath) os.remove(tarpath) if flame_status[0]: return JsonResponse({'Model': model_name}, status=status.HTTP_200_OK) else: if 'WARNING' in flame_status[1]: return JsonResponse({'error': flame_status[1]}, status=status.HTTP_200_OK) else: return JsonResponse({'error': flame_status[1]}, status=status.HTTP_409_CONFLICT)
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 post(self, request): file_object = request.FILES['model'] model_name = file_object.name.split('.') model_name = model_name[0] base_path = utils.model_repository_path() fs = FileSystemStorage(location=base_path) #defaults to models root tarname = fs.save(file_object.name, file_object) tarpath = os.path.join(base_path, tarname) flame_status = manage.action_import(tarpath) os.remove(tarpath) if flame_status[0]: return JsonResponse({'Model': model_name}, status=status.HTTP_200_OK) else: if 'WARNING' in flame_status[1]: return JsonResponse({'error': flame_status[1]}, status=status.HTTP_200_OK) else: return JsonResponse({'error': flame_status[1]}, status=status.HTTP_409_CONFLICT)
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 POST(self, model): model = os.path.join(tempfile.gettempdir(),model) result = manage.action_import(model) return result