Skip to content
Snippets Groups Projects
Commit 0dcb054a authored by leufen1's avatar leufen1
Browse files

rice service uses now the new CommonView class

parent b2e0f040
No related branches found
No related tags found
No related merge requests found
......@@ -46,6 +46,17 @@ class AggSerializer(BaseSerializer):
vlength = 1
# TODO: check units below
if vlength > 1:
if obj['direction'] is None:
properties = OrderedDict([
('agg_function', agg_function),
('many', True),
(agg_function, OrderedDict([
(d, v) for d, v in zip(range(vlength), val)
])),
('units', 'kt'),
('radius', obj['radius']),
])
else:
properties = OrderedDict([
('agg_function', agg_function),
('many', True),
......@@ -55,8 +66,6 @@ class AggSerializer(BaseSerializer):
('units', 'kt'),
('radius', obj['radius']),
])
if obj['direction'] is None:
properties.pop('direction')
else:
properties = OrderedDict([
('agg_function', agg_function),
......
......@@ -7,7 +7,7 @@ from rest_framework.response import Response
from toar_location_services.settings import DEBUG
from .rice_file_extraction import read_proxydata
from .serializers import AggSerializer
from utils.views_commons import get_query_params, get_agg_function
from utils.views_commons import CommonViews
from utils.geoutils import Directions
from utils.extraction_tools import extract_value, extract_value_stats
......@@ -19,13 +19,16 @@ if DEBUG:
print("File %s successfully loaded" % FILENAME, datainfo)
class RiceView(APIView):
class RiceView(APIView, CommonViews):
def __init__(self):
CommonViews.__init__(self)
def _extract(self, lat, lon, radius, agg, direction, by_direction):
"""perform actual extraction of desired quantity"""
print('**by_direction:', by_direction, '** radius, agg = ', radius, agg)
if agg is not None and radius is not None and radius > 0.:
agg_function = get_agg_function(agg)
agg_function = self.get_agg_function(agg)
min_angle = None
max_angle = None
if by_direction:
......@@ -77,7 +80,7 @@ class RiceView(APIView):
by_direction: if True, data are returned as vector with one value aggregated
over each of 16 wind directions.
"""
lat, lon, radius, agg, direction, by_direction = get_query_params(request.query_params,
lat, lon, radius, agg, direction, by_direction = self.get_query_params(request.query_params,
['lat', 'lon', 'radius', 'agg', 'direction', 'by_direction'])
result, agg, direction = self._extract(lat, lon, radius, agg, direction, by_direction)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment