def export_selection_as()

in src/open_vp_cal/widgets/main_window.py [0:0]


    def export_selection_as(self) -> None:
        """ Exports the selected led walls, and any of their references

        Returns:

        """
        folder = select_folder()
        if folder:
            # Get All The Walls Selected And Any They Reference
            all_walls_to_export = []
            selected_led_walls = self.stage_controller.selected_led_walls()
            for led_wall_name in selected_led_walls:
                led_wall = self.project_settings_model.get_led_wall(led_wall_name)
                all_walls_to_export.append(led_wall_name)

                reference_wall = led_wall.reference_wall
                if reference_wall:
                    all_walls_to_export.append(led_wall_name)

                verification_wall = led_wall.verification_wall
                if verification_wall:
                    all_walls_to_export.append(verification_wall)

            # Make Sure We Have A Unique List Of Walls To Export
            all_walls_to_export = list(set(all_walls_to_export))

            # Make A New Project Settings Model With Only The Walls We Want To Export
            current_folder = self.project_settings_model.output_folder
            self.project_settings_model.output_folder = folder
            new_project_settings = self.save_project_settings(inform_completion=False)
            self.project_settings_model.output_folder = current_folder

            export_project = ProjectSettings.from_json(new_project_settings)
            for led_wall in export_project.led_walls:
                if led_wall.name not in all_walls_to_export:
                    export_project.remove_led_wall(led_wall.name)

            filename = os.path.join(
                export_project.output_folder,
                DEFAULT_PROJECT_SETTINGS_NAME
            )
            export_project.to_json(filename)
            self.task_completed()