(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
fromonc.oncimportONConc=ONC(<yourtoken>)
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,
}
)
...
Error128: MissingParameter. Expectedvalues: 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,
}
)
...
Error129: Invalidparametergiven (parameter: dpo_hydrophoneDataDiversionMode)Discussion
Not the main point but FWIW, the error raised by _doRequest should be a ValueError, not the superclass Exception.
(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 atry, catching the exception, and then sending the slightly modified request in anexceptblock.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
Some hydrophones need the
dpo_hydrophoneDataDiversionModeoption, e.g.:Other hydrophones prohibit the option, e.g.:
Discussion
Not the main point but FWIW, the error raised by
_doRequestshould be aValueError, not the superclassException.