def handle(self, *args, **options): with open(args[0], 'rU') as f: # Loop over each row (i.e. Location) in the CSV file. for r in map(row._make, csv.reader(f)): # Create a new instance of Location. if r.parent_uuid: # It's a child node. parent = Location.objects.get(uuid=r.parent_uuid) location = parent.add_child(name=r.name) else: # It's a root node. location = Location.add_root(name=r.name) # Assign properties. location.description = r.description location.geometry_precision = str2float(r.geometry_precision) point_geometry = point(r) location.point_geometry = point_geometry location.show_on_map = True if point_geometry else False location.relative_location = r.relative_location location.uuid = r.uuid location.created = datetime.now(tz=pytz.utc) # Persist to database. self.stdout.write("Saving {}.".format(location)) location.save()
def handle(self, *args, **options): data_sets = DataSet.objects.all() data_set = data_sets[0] if len(data_sets) > 0 else None sources = Source.objects.all() source = sources[0] if len(sources) > 0 else None parameters = Parameter.objects.filter(code=TEST_PARAMETER_NAME) parameter = parameters[0] if len(parameters) > 0 else None if not parameter: parameter = Parameter( code=TEST_PARAMETER_NAME, group="{} group".format(TEST_PARAMETER_NAME), begin_date=datetime.datetime.now(), end_date=datetime.datetime.now(), ) parameter.save() units = Unit.objects.filter(code=TEST_UNIT_NAME) unit = units[0] if len(units) > 0 else None if not unit: unit = Unit(code=TEST_UNIT_NAME, begin_date=datetime.datetime.now(), end_date=datetime.datetime.now()) unit.save() locations = Location.objects.filter(name=TEST_LOCATION_NAME) location = locations[0] if len(locations) > 0 else None if not location: location = Location( name=TEST_LOCATION_NAME, description="{} description".format(TEST_LOCATION_NAME), point_geometry=Point(0, 0), ) location.save_under(None) timeseriess = Timeseries.objects.filter(name=TEST_TIMESERIES_NAME) timeseries = timeseriess[0] if len(timeseriess) > 0 else None if not timeseries: timeseries = Timeseries( name=TEST_TIMESERIES_NAME, description="{} description".format(TEST_TIMESERIES_NAME), source=source, parameter=parameter, unit=unit, location=location, ) timeseries.save() timeseries.data_sets = [data_set] timeseries.save() events = timeseries.get_events() if len(events) == 0: dates = pd.date_range("1/1/2011", periods=20000, freq="1Min", tz=pytz.UTC) vals = np.linspace(-np.pi, np.pi, len(dates)) vals = np.sin(vals) df = pd.DataFrame(vals, index=dates, columns=["value"]) timeseries.set_events(df) timeseries.save()