in src/open_vp_cal/application_base.py [0:0]
def analyse(self, led_walls: List[LedWallSettings]) -> bool:
""" Runs the analysis for each of the LED walls in the selection, and performs some pre validation checks
to ensure that the LED walls are correctly setup
Args:
led_walls: The LED walls we want to analyse
Returns:
Whether the analysis was successful or not
"""
if not led_walls:
message = "No Led Walls Provided"
self.error_message(message)
return False
for led_wall in led_walls:
if led_wall.processing_results:
if led_wall.processing_results.samples:
message = f"Sampling Results Already Exist For {led_wall.name}, Would You Like To Overwrite?"
if not self.warning_message(message):
return False
break
if not self.run_pre_checks(led_walls):
return False
led_walls = utils.led_wall_reference_wall_sort(led_walls)
# We have to do these sequentially encase we are using a reference wall
# if the separation fails inform the user to try again or that they have an issue
for led_wall in led_walls:
try:
processing = Processing(led_wall)
processing.run_sampling()
processing.analyse()
except SeparationException as e:
self.error_message(f"{led_wall.name}\n{e}")
return False
except OpenVPCalException as e:
self.error_message(f"{led_wall.name}\n{e}")
return False
except OpenVPCalWarning as e:
self.error_message(f"{led_wall.name}\n{e}")
return True
return True