Files
old-krovovi-kalkulator/helix/validators/seismic_anchor_validator.py
2017-11-07 09:23:57 +01:00

16 lines
726 B
Python

from helix.calculators.subarray_helper import extract_subarray
from helix.constants.seismic_anchor_validation_error import SeismicAnchorValidationError
class SeismicAnchorValidator(object):
def __init__(self, calculator):
self.calculator = calculator
def validate(self, panel_data):
subarray_summary = self.calculator.subarray_summary()
for subarray in subarray_summary:
subarray_panels = extract_subarray(panel_data, subarray.subarray_number)
seismic_anchor_count = sum(panel.seismic_anchors or 0 for panel in subarray_panels)
if subarray.required_seismic_anchors > seismic_anchor_count:
return SeismicAnchorValidationError.TooFewAnchors