from datatypes.epc.efficiency import EpcEfficiency
from datatypes.epc.windows import EpcWindowDescriptions

glazing_map = {
    # (description, energy efficiency, multi_glaze_proportion, glazed_type, glazed_area
    # For SAP 10 assessments, The glazed type and glazed area are not populated in the EPC API data any more
    "Double 2002 or later": (EpcWindowDescriptions.fully_double_glazed, EpcEfficiency.AVERAGE, 100, None, None),
    "Double before 2002": (EpcWindowDescriptions.fully_double_glazed, EpcEfficiency.POOR, 100, None, None),
    "Double but age unknown": (EpcWindowDescriptions.fully_double_glazed, EpcEfficiency.POOR, 100, None, None),
    "Single": (EpcWindowDescriptions.single_glazed, EpcEfficiency.VERY_POOR, 0, None, None),
    # For triple glazing, with age unknown, the performance is only average, whereas if it's a post 2022
    # installation, it's classed as high performance glazing with good efficiency. We'll need to be considerate as to
    # how we make updates to the windows data.
    # Triple known data is high performance glazing with Good efficiency (at least)
    "Triple": (EpcWindowDescriptions.fully_triple_glazed, EpcEfficiency.AVERAGE, 100, None, None),
    # This is also classed as high performance glazing
    "DoubleKnownData": (
        EpcWindowDescriptions.fully_double_glazed.high_performance_glazing, EpcEfficiency.GOOD, 100, None, None
    ),
    # Under SAP 10, secondary glazing is classed as poor efficiency (whereas under SAP 2012 it was generally good)
    "Secondary": (EpcWindowDescriptions.full_secondary_glazing, EpcEfficiency.POOR, 100, None, None),
    "TripleKnownData": (EpcWindowDescriptions.high_performance_glazing, EpcEfficiency.GOOD, 100, None, None),
}
