Ejemplo n.º 1
0
def validate(
    zone_infos: ZoneInfoMap,
    zone_policies: ZonePolicyMap,
    zone: str,
    year: int,
    start_year: int,
    until_year: int,
    validate_buffer_size: bool,
    validate_test_data: bool,
    viewing_months: int,
    validate_dst_offset: bool,
    debug_validator: bool,
    debug_specifier: bool,
    in_place_transitions: bool,
    optimize_candidates: bool,
) -> None:

    # Set the default to set both --validate_buffer_size and
    # --validate_test_data if neither flags are given explicitly.
    if not validate_buffer_size and not validate_test_data:
        validate_buffer_size = True
        validate_test_data = True

    validator = Validator(zone_infos=zone_infos,
                          zone_policies=zone_policies,
                          viewing_months=viewing_months,
                          validate_dst_offset=validate_dst_offset,
                          debug_validator=debug_validator,
                          debug_specifier=debug_specifier,
                          zone_name=zone,
                          year=year,
                          start_year=start_year,
                          until_year=until_year,
                          in_place_transitions=in_place_transitions,
                          optimize_candidates=optimize_candidates)

    if validate_buffer_size:
        logging.info('======== Validating transition buffer sizes')
        validator.validate_buffer_size()

    if validate_test_data:
        logging.info('======== Validating test data')
        validator.validate_test_data()