LCOGT / mop

Microlensing Observation Portal
GNU General Public License v3.0
0 stars 7 forks source link

obs_control doesn't understand a spectroscopy request entry #171

Open KKruszynska opened 3 weeks ago

KKruszynska commented 3 weeks ago

While including a new feature for MOP, I encountered an error from obs_control.extract_obs_request_info when it tried to read a spectroscopy request for FLOYDS and looked for a 'filter' keyword. Specrosocopy doesn't have that keyword, so it causes an error while loading the active obs view.

For now, I will create a placeholder code and do nothing when a spectroscopy request is encountered. We will need to implement better handling of a spectroscopy request.

Error:

Internal Server Error: /activeobs/
Traceback (most recent call last):
  File "/home/katarzyna/mop_venv/lib/python3.10/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
  File "/home/katarzyna/mop_venv/lib/python3.10/site-packages/django/core/handlers/base.py", line 199, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/home/katarzyna/mop_venv/lib/python3.10/site-packages/django/core/handlers/base.py", line 362, in process_exception_by_middleware
    response = middleware_method(request, exception)
  File "/home/katarzyna/mop_venv/lib/python3.10/site-packages/tom_common/middleware.py", line 29, in process_exception
    raise exception
  File "/home/katarzyna/mop_venv/lib/python3.10/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/katarzyna/mop_venv/lib/python3.10/site-packages/django/views/generic/base.py", line 104, in view
    return self.dispatch(request, *args, **kwargs)
  File "/home/katarzyna/mop_venv/lib/python3.10/site-packages/django/views/generic/base.py", line 143, in dispatch
    return handler(request, *args, **kwargs)
  File "/home/katarzyna/mop_venv/lib/python3.10/site-packages/django/views/generic/list.py", line 174, in get
    context = self.get_context_data()
  File "/home/katarzyna/mop/mop/views.py", line 170, in get_context_data
    pending_obs = parse_lco_requestgroups(response, short_form=False, pending_only=False)
  File "/home/katarzyna/mop/mop/toolbox/obs_control.py", line 71, in parse_lco_requestgroups
    obs_info = extract_obs_request_info(result)
  File "/home/katarzyna/mop/mop/toolbox/obs_control.py", line 104, in extract_obs_request_info
    obs_info['filters'].append(inst_conf['optical_elements']['filter'])
KeyError: 'filter'
KKruszynska commented 3 weeks ago

I added placeholder code with commit number 3fd5f63.