def daily_download(request): form = TimeSeriesFilterForm(request.GET) if (form.is_valid()): gages = form.cleaned_data['site_list'] _logger.info("hourly csv download, gages is %s" % (gages)) beginDate = form.cleaned_data["timeseries_start"] endDate = form.cleaned_data["timeseries_end"] station_dict = stage_queries.station_dict(gages) beginDate = form.cleaned_data["timeseries_start"] endDate = form.cleaned_data["timeseries_end"] q, dt = stage_queries.daily_query(*station_dict.values()) if beginDate: q = q.where(dt >= beginDate) if endDate: q = q.where(dt <= endDate) data = q.execute() # data_type = 'Hourly Water Level, NAVD88(ft)' # hard coded for now... maybe this could be in the form where the user's can selected between hourly and daily data query_metadata_list = create_metadata_header(HEADER_MESSAGE, EDEN_CONTACT, END_OF_HEADER, form.cleaned_data, station_dict.values()) response = HttpResponse(content_type='text/csv') stage_data.write_rdb(data, response, metadata=query_metadata_list) return response else: return HttpResponseBadRequest(",".join(form.errors)) pass
def daily_download(request): form = TimeSeriesFilterForm(request.GET) if form.is_valid(): gages = form.cleaned_data["site_list"] _logger.info("hourly csv download, gages is %s" % (gages)) beginDate = form.cleaned_data["timeseries_start"] endDate = form.cleaned_data["timeseries_end"] station_dict = stage_queries.station_dict(gages) beginDate = form.cleaned_data["timeseries_start"] endDate = form.cleaned_data["timeseries_end"] q, dt = stage_queries.daily_query(*station_dict.values()) if beginDate: q = q.where(dt >= beginDate) if endDate: q = q.where(dt <= endDate) data = q.execute() # data_type = 'Hourly Water Level, NAVD88(ft)' # hard coded for now... maybe this could be in the form where the user's can selected between hourly and daily data query_metadata_list = create_metadata_header( HEADER_MESSAGE, EDEN_CONTACT, END_OF_HEADER, form.cleaned_data, station_dict.values() ) response = HttpResponse(content_type="text/csv") stage_data.write_rdb(data, response, metadata=query_metadata_list) return response else: return HttpResponseBadRequest(",".join(form.errors)) pass
def plot_data_daily(request): form = TimeSeriesFilterForm(request.GET) if form.is_valid(): gages = form.cleaned_data["site_list"] _logger.info("plot_data, gages is %s" % (gages)) station_dict = stage_queries.station_dict(gages) beginDate = form.cleaned_data["timeseries_start"] endDate = form.cleaned_data["timeseries_end"] q, dt = stage_queries.daily_query_split(*station_dict.values()) if beginDate: q = q.where(dt >= beginDate) if endDate: q = q.where(dt <= endDate) data = q.execute() response = HttpResponse(content_type="text/csv") if len(gages) == 1: site_name = "%s_NGVD29" % gages[0] else: site_name = None # stage_data.write_csv(results=data, outfile=response, station_name=site_name) stage_data.write_csv_for_plot(results=data, outfile=response, column_name=site_name) return response else: return HttpResponseBadRequest(",".join(form.errors))
def plot_data_daily(request): form = TimeSeriesFilterForm(request.GET) if form.is_valid(): gages = form.cleaned_data['site_list'] _logger.info("plot_data, gages is %s" % (gages)) station_dict = stage_queries.station_dict(gages) beginDate = form.cleaned_data["timeseries_start"] endDate = form.cleaned_data["timeseries_end"] q, dt = stage_queries.daily_query_split(*station_dict.values()) if beginDate: q = q.where(dt >= beginDate) if endDate: q = q.where(dt <= endDate) data = q.execute() response = HttpResponse(content_type='text/csv') if len(gages) == 1: site_name = '%s_NGVD29' % gages[0] else: site_name = None # stage_data.write_csv(results=data, outfile=response, station_name=site_name) stage_data.write_csv_for_plot(results=data, outfile=response, column_name=site_name) return response else: return HttpResponseBadRequest(",".join(form.errors))
def plot_data(request): # TODO Pull gage list up to list of model objects form = TimeSeriesFilterForm(request.GET) if form.is_valid(): gages = form.cleaned_data['site_list'] _logger.info("plot_data, gages is %s" % (gages)) station_dict = stage_queries.station_dict(gages) beginDate = form.cleaned_data["timeseries_start"] endDate = form.cleaned_data["timeseries_end"] maxCount = form.cleaned_data["max_count"] response = HttpResponse(content_type='text/csv') data = stage_data.data_for_plot(gages, beginDate=beginDate, endDate=endDate, maxCount=maxCount, station_dict=station_dict ) stage_data.write_csv_for_plot(results=data, outfile=response) return response else: return HttpResponseBadRequest(",".join(form.errors))
def test_station_dict(self): "Test for station dict" names = ["G-3567", "RG3", "ANGEL", "BARW4", "TSH", "W15", "W2", "Upstream_Taylor_River", "CH1"] sd = stage_queries.station_dict(names) # self.assertEqual(len(names), len(sd)) self.assertEquals(names, [s.station_name_web for s in sd.values()]) self.assertEquals(names, sd.keys())
def test_station_dict(self): "Test for station dict" names = [ "G-3567", "RG3", "ANGEL", "BARW4", "TSH", "W15", "W2", "Upstream_Taylor_River", "CH1" ] sd = stage_queries.station_dict(names) # self.assertEqual(len(names), len(sd)) self.assertEquals(names, [s.station_name_web for s in sd.values()]) self.assertEquals(names, sd.keys())
def _daily_plot_data(form): gages = form.cleaned_data["site_list"] _logger.info("plot_data, gages is %s" % (gages)) station_dict = stage_queries.station_dict(gages) station1 = station_dict.values()[0] beginDate = form.cleaned_data["timeseries_start"] endDate = form.cleaned_data["timeseries_end"] q, dt = stage_queries.daily_query_split(*station_dict.values()) if beginDate: q = q.where(dt >= beginDate) if endDate: q = q.where(dt <= endDate) data = q.execute() return data, beginDate, endDate, station1
def _daily_plot_data(form): gages = form.cleaned_data['site_list'] _logger.info("plot_data, gages is %s" % (gages)) station_dict = stage_queries.station_dict(gages) station1 = station_dict.values()[0] beginDate = form.cleaned_data["timeseries_start"] endDate = form.cleaned_data["timeseries_end"] q, dt = stage_queries.daily_query_split(*station_dict.values()) if beginDate: q = q.where(dt >= beginDate) if endDate: q = q.where(dt <= endDate) data = q.execute() return data, beginDate, endDate, station1
def plot_data(request): # TODO Pull gage list up to list of model objects form = TimeSeriesFilterForm(request.GET) if form.is_valid(): gages = form.cleaned_data["site_list"] _logger.info("plot_data, gages is %s" % (gages)) station_dict = stage_queries.station_dict(gages) beginDate = form.cleaned_data["timeseries_start"] endDate = form.cleaned_data["timeseries_end"] maxCount = form.cleaned_data["max_count"] response = HttpResponse(content_type="text/csv") data = stage_data.data_for_plot( gages, beginDate=beginDate, endDate=endDate, maxCount=maxCount, station_dict=station_dict ) stage_data.write_csv_for_plot(results=data, outfile=response) return response else: return HttpResponseBadRequest(",".join(form.errors))