-
Notifications
You must be signed in to change notification settings - Fork 10
Description
(created from email ticket)
Description
Some hydrophone acoustic data requires dpo_hydrophoneDataDiversionMode, some prohibit it. It's impossible to tell from the API when it's required. This necessitates the workaround of sending the request once within a try, catching the exception, and then sending the slightly modified request in an except block.
Expected behavior
Hydrophones for which "dpo_hydrophoneDataDiversionMode" does not apply should accept "OD" or "All". Any other values ("HPF", "LPF"), should give the "no data" response (HTTP 400 w/error code: 33)
Actual behavior
from onc.onc import ONC
onc = ONC(<your token>)Some hydrophones need the dpo_hydrophoneDataDiversionMode option, e.g.:
request = onc.requestDataProduct(
filters={
"dataProductCode": "AD",
"extension": "wav",
"dateFrom": "2016-06-20T12:00:00.000Z",
"dateTo": "2016-06-20T12:01:00.000Z",
"deviceCode": "ICLISTENHF1251",
"dpo_audioDownsample": -1,
}
)
...
Error 128: Missing Parameter. Expected values: OD, LPF, HPF, All (parameter: dpo_hydrophoneDataDiversionMode)Other hydrophones prohibit the option, e.g.:
request = onc.requestDataProduct(
filters={
"dataProductCode": "AD",
"extension": "wav",
"dateFrom": "2016-06-01T12:00:00.000Z",
"dateTo": "2016-06-01T12:01:00.000Z",
"deviceCode": "ICLISTENHF1351",
"dpo_hydrophoneDataDiversionMode": "OD",
"dpo_audioDownsample": -1,
}
)
...
Error 129: Invalid parameter given (parameter: dpo_hydrophoneDataDiversionMode)Discussion
Not the main point but FWIW, the error raised by _doRequest should be a ValueError, not the superclass Exception.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status