def handle(self, **options): grower = GrowerInfo.objects.get(pk=1) ds = FewsJdbcDataSource(grower) _from = datetime(2013, 1, 24, 9, 30, tzinfo=pytz.utc) to = datetime(2013, 1, 29, 9, 30, tzinfo=pytz.utc) # get_rain data for rain_type in ('min', 'mean', 'max'): # rain types results = ds.get_rain(rain_type, _from, to) data = convert_timeseries_to_python(results) if data: f = open('rain_%s_data.py' % rain_type, 'w') f.write(DATA_MODULE_START_TEXT) for dt, value in data: f.write(" [%s, %s],\n" % (format_datetime(dt), value)) f.write(DATA_MODULE_END_TEXT) f.close() # get_fill data _from = datetime(2012, 12, 29, 9, 30, tzinfo=pytz.utc) to = datetime(2013, 1, 29, 9, 30, tzinfo=pytz.utc) results = ds.get_fill(_from, to) data = convert_timeseries_to_python(results) if data: f = open('fill_data.py', 'w') f.write(DATA_MODULE_START_TEXT) for dt, value in data: f.write(" [%s, %s],\n" % (format_datetime(dt), value)) f.write(DATA_MODULE_END_TEXT) f.close()
class FewsJdbcDataSourceTest(TestCase): fixtures = ['jdbc_source.json'] def setUp(self): self.ds = FewsJdbcDataSource() def test_connection(self): fews_data = self.ds.get_fill(w30_0, w30_5) self.assertGreater(len(fews_data), 10)
def rain(self, t0): _from = t0 - settings.CONTROLNEXT_FILL_HISTORY to = t0 + settings.CONTROLNEXT_FILL_PREDICT_FUTURE ds = FewsJdbcDataSource(self.basin, self.constants) mean = ds.get_rain('mean', _from, to) sum_ = ds.get_rain('sum', t0, to) kwadrant = ds.get_rain('kwadrant', t0, to) rain_graph_info = { 'data': { 'mean': self.series_to_js(mean), 'sum': self.series_to_js(sum_), 'kwadrant': self.series_to_js(kwadrant) }, 'x0': self.datetime_to_js(t0) } return { 't0': t0, 'rain_graph_info': rain_graph_info, }
def rain(self, t0, rain_exaggerate_pct): _from = t0 - constants.fill_history to = t0 + constants.fill_predict_future ds = FewsJdbcDataSource() min = ds.get_rain("min", t0, to) mean = ds.get_rain("mean", _from, to) max = ds.get_rain("max", t0, to) if rain_exaggerate_pct != 100: rain_exaggerate = rain_exaggerate_pct / 100 min *= rain_exaggerate mean *= rain_exaggerate max *= rain_exaggerate # import pdb; pdb.set_trace() rain_graph_info = { "data": {"min": series_to_js(min), "mean": series_to_js(mean), "max": series_to_js(max)}, "x0": datetime_to_js(t0), } return {"t0": t0, "rain_graph_info": rain_graph_info}
def setUp(self): self.ds = FewsJdbcDataSource()