SmartCambridge / tfc_web

Web access to the TFC platform
MIT License
3 stars 2 forks source link

Internal Server Error: /api/v1/aq/history/S-1147/CO/2017-02/ #322

Closed jw35 closed 5 years ago

jw35 commented 5 years ago
Internal Server Error: /api/v1/aq/history/S-1147/CO/2017-02/

ValueError at /api/v1/aq/history/S-1147/CO/2017-02/
could not convert string to float: 'null'

Traceback:  

File "/home/tfc_prod/tfc_web_venv/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
 41.             response = get_response(request)

File "/home/tfc_prod/tfc_web_venv/lib/python3.5/site-packages/django/core/handlers/base.py" in _legacy_get_response
 249.             response = self._get_response(request)

File "/home/tfc_prod/tfc_web_venv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
 187.                 response = self.process_exception_by_middleware(e, request)

File "/home/tfc_prod/tfc_web_venv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
 185.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/home/tfc_prod/tfc_web_venv/lib/python3.5/site-packages/django/views/decorators/csrf.py" in wrapped_view
 58.         return view_func(*args, **kwargs)

File "/home/tfc_prod/tfc_web_venv/lib/python3.5/site-packages/django/views/generic/base.py" in view
 68.             return self.dispatch(request, *args, **kwargs)

File "/home/tfc_prod/tfc_web_venv/lib/python3.5/site-packages/rest_framework/views.py" in dispatch
 495.             response = self.handle_exception(exc)

File "/home/tfc_prod/tfc_web_venv/lib/python3.5/site-packages/rest_framework/views.py" in handle_exception
 455.             self.raise_uncaught_exception(exc)

File "/home/tfc_prod/tfc_web_venv/lib/python3.5/site-packages/rest_framework/views.py" in dispatch
 492.             response = handler(request, *args, **kwargs)

File "/home/tfc_prod/tfc_web/tfc_web/aq/api/views.py" in get
 75.         return Response(serializer.data)

File "/home/tfc_prod/tfc_web_venv/lib/python3.5/site-packages/rest_framework/serializers.py" in data
 563.         ret = super(Serializer, self).data

File "/home/tfc_prod/tfc_web_venv/lib/python3.5/site-packages/rest_framework/serializers.py" in data
 262.                 self._data = self.to_representation(self.instance)

File "/home/tfc_prod/tfc_web_venv/lib/python3.5/site-packages/rest_framework/serializers.py" in to_representation
 530.                 ret[field.field_name] = field.to_representation(attribute)

File "/home/tfc_prod/tfc_web_venv/lib/python3.5/site-packages/rest_framework/serializers.py" in to_representation
 530.                 ret[field.field_name] = field.to_representation(attribute)

File "/home/tfc_prod/tfc_web_venv/lib/python3.5/site-packages/rest_framework/fields.py" in to_representation
 1001.         return float(value)

Exception Type: ValueError at /api/v1/aq/history/S-1147/CO/2017-02/
Exception Value: could not convert string to float: 'null'
Request information:
USER: david.wright.geospock
jw35 commented 5 years ago

From Feb 2017, AQ sensor data files for sensors S-1147 and S-1149 had header records including

"Latitude": "null", "Longitude": "null",

which cause DRFs serializer to choke, given that it's expecting a float.

jw35 commented 5 years ago

Fixed by fixing up the data files to contain correct coordinates.