Leave location validation to specific carbon API #56
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently the user-specified
location
(postcode for carbonintensity.org.uk) is validated in a separate functioncheck_clean_arguments.validate_location
However
location
format (or whether or not location data is relevant at all) is specific to the API supplying the carbon forecast. This PR moves location validation logic to the API-specific functions. In the case of carbonintensity.org.uk, this isciuk_parse_response_data
. API specific parsing functions inCI_api_interface
module are responsible for raising anInvalidLocationError
if the suppliedlocation
is deemed invalid.Furthermore -- and this might be specific to carbonintensity.org.uk -- postcode is validated a posteriori based on the response from the API.
A few examples