|
|
@@ -36,13 +36,16 @@ def wait_data_ready(measurement_id=None, **kwargs):
|
|
|
def fetch_data(measurement_id=None, **kwargs):
|
|
|
if measurement_id is None:
|
|
|
raise ValueError("fetch_data: measurement_id is required (не пришёл из предыдущего шага)")
|
|
|
- data = spec.get_data(measurement_id)
|
|
|
- # Попробуем угадать полезное поле для следующего шага (URL или id файла)
|
|
|
- raw_url = data.get("raw_h5") or data.get("file_url") or data.get("raw_file") or None
|
|
|
- out = {"data": data}
|
|
|
- if raw_url:
|
|
|
- out["raw_file"] = raw_url
|
|
|
- return out
|
|
|
+ # GET /api/measure/{id}/data/ → список measurement_data (many=True)
|
|
|
+ raw = spec.get_data(measurement_id)
|
|
|
+ # Нормализация: DRF с пагинацией вернёт {"results": [...]}, без — список
|
|
|
+ if isinstance(raw, dict) and "results" in raw:
|
|
|
+ data_list = raw["results"]
|
|
|
+ elif isinstance(raw, list):
|
|
|
+ data_list = raw
|
|
|
+ else:
|
|
|
+ data_list = [raw]
|
|
|
+ return {"data": data_list, "measurement_id": measurement_id}
|
|
|
|
|
|
# Шаг 4: реконструкция
|
|
|
def run_reconstruction(raw_file=None, **kwargs):
|