Source code for autowisp.browser_interface.processing.display_fits_util

"""Utilities used by views that allow users to interact with FITS images."""

import json

from django.http import JsonResponse


[docs] def update_fits_display(request): """Updatet the displayed FITS image per user interaction.""" if "fits_display" not in request.session: request.session["fits_display"] = { "image_index": 0, "range": "zscale", "transform": None, } if request.method != "POST": return None request_data = json.loads(request.body.decode()) print(f"Request data: {request_data!r}") change = request_data.pop("change") if change == "next image": request.session["fits_display"]["image_index"] += 1 elif change == "previous image": request.session["fits_display"]["image_index"] -= 1 else: assert len(change) == 1 for param, value in change.items(): request.session["fits_display"][param] = ( int(value) - 1 if param == "image_index" else value ) request.session["view_config"] = json.dumps(request_data) request.session.modified = True return JsonResponse({"ok": True})