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})