Validates that an appropriate range has been passed. range - the Range to be tested. range_set - the available range options. If 'date' is an option, test for YYYYMMDD.
(range, range_set)
| 84 | |
| 85 | |
| 86 | def validate_range_set(range, range_set): |
| 87 | """ |
| 88 | Validates that an appropriate range has been passed. |
| 89 | |
| 90 | range - the Range to be tested. |
| 91 | range_set - the available range options. If 'date' is an option, |
| 92 | test for YYYYMMDD. |
| 93 | """ |
| 94 | passing_criteria = [] |
| 95 | if 'date' in range_set: |
| 96 | passing_criteria.append(type(range) == datetime.datetime) |
| 97 | passing_criteria.append(parse_date(range)) |
| 98 | passing_criteria.append(range in range_set) |
| 99 | if not any(passing_criteria): |
| 100 | if 'date' in range_set: |
| 101 | range_set[range_set.index('date')] = 'YYYYMMDD (int), datetime' |
| 102 | err_msg = f"Invalid range: '{range}'. Valid chart types are {', '.join(range_set)}" |
| 103 | raise ValueError(err_msg) |
| 104 | else: |
| 105 | url = f"chart/{range}" |
| 106 |
no test coverage detected