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
Beispiel #2
0
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
Beispiel #3
0
    def test_daily_navd_88(self):
        s = stations[0]
        gage = s.station_name_web
        s.id = None
        s.stationdatum.convert_to_navd88_feet = 200

        q, _ = station_data.daily_query(s)
        rs = q.execute()
        for r in rs:
            v = r[gage + ' avg']
            if v is not None:
                self.assertGreater(v, 100, "navd 88 correction, got " + str(v))
    def test_daily_navd_88(self):
        s = stations[0]
        gage = s.station_name_web
        s.id = None
        s.stationdatum.convert_to_navd88_feet = 200

        q, _ = station_data.daily_query(s)
        rs = q.execute()
        for r in rs:
            v = r[gage + ' avg']
            if v is not None:
                self.assertGreater(v, 100, "navd 88 correction, got " + str(v))
Beispiel #5
0
    def test_daily(self):

        q, dt = station_data.daily_query(*stations)
        q = q.where(dt >= '2003-06-28')
        self.check(q, ['G-3567 avg', '2A300 avg'],
                   ['G-3567 flag', '2A300 flag'])
    def test_daily(self):

        q, dt = station_data.daily_query(*stations)
        q = q.where(dt >= '2003-06-28')
        self.check(q, ['G-3567 avg', '2A300 avg'], ['G-3567 flag', '2A300 flag'])