def test_get_file_name_scene_asset_instance(self): self.generate_fixture_scene_asset_instance() file_name = file_tree_service.get_instance_file_name( self.asset_instance.serialize(), self.scene.serialize(), output_type=self.output_type_cache, task_type=self.task_type_animation.serialize(), name="main", revision=3) self.assertEqual( file_name, "cosmos_landromat_s01_sc01_animation_cache_main_" "tree_0001_v003")
def add_path_info( self, output_file, mode, asset_instance, temporal_entity, output_type, task_type=None, name="main", extension="", representation="", nb_elements=1, separator="/", ): folder_path = file_tree_service.get_instance_folder_path( asset_instance, temporal_entity, mode=mode, output_type=output_type, revision=output_file["revision"], task_type=task_type, representation=representation, name=name, sep=separator, ) file_name = file_tree_service.get_instance_file_name( asset_instance, temporal_entity, mode=mode, revision=output_file["revision"], output_type=output_type, task_type=task_type, name=name, ) output_file = files_service.update_output_file( output_file["id"], { "path": "%s%s%s%s" % (folder_path, separator, file_name, extension) }, ) output_file.update({ "folder_path": folder_path, "file_name": file_name }) return output_file
def test_get_file_name_asset_asset_instance(self): self.generate_fixture_asset_types() self.generate_fixture_asset_character() self.generate_fixture_asset_asset_instance() file_name = file_tree_service.get_instance_file_name( self.asset_instance.serialize(), self.asset.serialize(), output_type=self.output_type_materials, task_type=self.task_type.serialize(), name="main", revision=3) self.assertEqual( file_name, "cosmos_landromat_props_tree_shaders_materials_main_" "rabbit_0001_v003")
def test_get_file_name_shot_asset_instance(self): self.generate_fixture_shot_asset_instance( asset=self.entity, shot=self.shot ) file_name = file_tree_service.get_instance_file_name( self.asset_instance.serialize(), output_type=self.output_type_cache, task_type=self.task_type_animation.serialize(), name="main", revision=3 ) self.assertEquals( file_name, "cosmos_landromat_s01_p01_animation_cache_main_props_tree_instance_0001_v003" )
def post(self, asset_instance_id, temporal_entity_id): args = self.get_arguments() try: asset_instance = assets_service.get_asset_instance( asset_instance_id) entity = entities_service.get_entity(temporal_entity_id) asset = assets_service.get_asset(asset_instance["asset_id"]) output_type = files_service.get_output_type(args["output_type_id"]) task_type = tasks_service.get_task_type(args["task_type_id"]) user_service.check_project_access(asset["project_id"]) user_service.check_entity_access(asset["id"]) folder_path = file_tree_service.get_instance_folder_path( asset_instance, entity, output_type=output_type, task_type=task_type, mode=args["mode"], name=args["name"], representation=args["representation"], revision=args["revision"], sep=args["separator"], ) file_name = file_tree_service.get_instance_file_name( asset_instance, entity, output_type=output_type, task_type=task_type, mode=args["mode"], name=args["name"], revision=args["revision"], ) except MalformedFileTreeException as exception: return ( { "message": str(exception), "received_data": request.json }, 400, ) return {"folder_path": folder_path, "file_name": file_name}, 200
def post(self, asset_instance_id): args = self.get_arguments() try: asset_instance = assets_service.get_asset_instance( asset_instance_id) asset = assets_service.get_asset(asset_instance["asset_id"]) output_type = files_service.get_output_type(args["output_type_id"]) task_type = tasks_service.get_task_type(args["task_type_id"]) if not permissions.has_manager_permissions(): user_service.check_has_task_related(asset["project_id"]) folder_path = file_tree_service.get_instance_folder_path( asset_instance, output_type=output_type, task_type=task_type, mode=args["mode"], name=args["name"], representation=args["representation"], revision=args["revision"], sep=args["separator"] ) file_name = file_tree_service.get_instance_file_name( asset_instance, output_type=output_type, task_type=task_type, mode=args["mode"], name=args["name"], revision=args["revision"] ) except MalformedFileTreeException as e: current_app.logger.error(e) return { "error": "Tree is not properly written, check modes and variables", "received_data": request.json, }, 400 return {"path": folder_path, "name": file_name}, 200