def list_imports(request, instance): finished = GenericImportEvent.FINISHED_CREATING trees = TreeImportEvent.objects.filter(instance=instance).order_by('id') active_trees = trees.exclude(status=finished) finished_trees = trees.filter(status=finished) species = SpeciesImportEvent.objects\ .filter(instance=instance)\ .order_by('id') active_species = species.exclude(status=finished) finished_species = species.filter(status=finished) active_events = list(active_trees) + list(active_species) imports_finished = all(ie.is_finished() for ie in active_events) instance_units = { k + '_' + v: get_value_display_attr(instance, k, v, 'units')[1] for k, v in [('plot', 'width'), ('plot', 'length'), ( 'tree', 'height'), ('tree', 'diameter'), ('tree', 'canopy_height')] } return { 'importer_instance_units': instance_units, 'active_trees': active_trees, 'finished_trees': finished_trees, 'active_species': active_species, 'finished_species': finished_species, 'imports_finished': imports_finished }
def list_imports(request, instance): finished = GenericImportEvent.FINISHED_CREATING trees = TreeImportEvent.objects.filter(instance=instance).order_by('id') active_trees = trees.exclude(status=finished) finished_trees = trees.filter(status=finished) species = SpeciesImportEvent.objects\ .filter(instance=instance)\ .order_by('id') active_species = species.exclude(status=finished) finished_species = species.filter(status=finished) active_events = list(active_trees) + list(active_species) imports_finished = all(ie.is_finished() for ie in active_events) instance_units = {k + '_' + v: get_value_display_attr(instance, k, v, 'units')[1] for k, v in [('plot', 'width'), ('plot', 'length'), ('tree', 'height'), ('tree', 'diameter'), ('tree', 'canopy_height')]} return {'importer_instance_units': instance_units, 'active_trees': active_trees, 'finished_trees': finished_trees, 'active_species': active_species, 'finished_species': finished_species, 'imports_finished': imports_finished }
def test_annual_rainfall_unit_conversion(self): rainfall_unit_key, rainfall_unit = get_value_display_attr( self.instance, 'greenInfrastructure', 'rainfall', 'units') self.assertEqual(rainfall_unit, 'in') __, __, unit_key = dotted_split(rainfall_unit_key, 3, maxsplit=2) self.assertEqual(rainfall_unit, 'in') config_key = 'annual_rainfall_inches' request_key = 'instance.config.annual_rainfall_inches' updates = {request_key: 10} json_updates = json.dumps(updates) request = make_request(method='PUT', body=json_updates, user=self.commander) green_infrastructure(request, self.instance) self.assertEqual(self.instance.config[config_key], 10.0) self.instance.config[unit_key] = 'cm' config_key = 'annual_rainfall_inches' request_key = 'instance.config.{}'.format(config_key) updates = {request_key: 25.4} json_updates = json.dumps(updates) request = make_request(method='PUT', body=json_updates, user=self.commander) green_infrastructure(request, self.instance) self.assertEqual(self.instance.config[config_key], 10.0)
def list_imports(request, instance): table_names = [TABLE_ACTIVE_TREES, TABLE_FINISHED_TREES, TABLE_ACTIVE_SPECIES, TABLE_FINISHED_SPECIES] tables = [_get_table_context(instance, table_name, 1) for table_name in table_names] instance_units = {k + '_' + v: get_value_display_attr(instance, k, v, 'units')[1] for k, v in [('plot', 'width'), ('plot', 'length'), ('tree', 'height'), ('tree', 'diameter'), ('tree', 'canopy_height')]} return { 'tables': tables, 'importer_instance_units': instance_units, }
def list_imports(request, instance): table_names = [TABLE_ACTIVE_TREES, TABLE_FINISHED_TREES, TABLE_ACTIVE_SPECIES, TABLE_FINISHED_SPECIES] _cleanup_tables(instance) tables = [_get_table_context(instance, table_name, 1) for table_name in table_names] instance_units = {k + '_' + v: get_value_display_attr(instance, k, v, 'units')[1] for k, v in [('plot', 'width'), ('plot', 'length'), ('tree', 'height'), ('tree', 'diameter'), ('tree', 'canopy_height')]} return { 'tables': tables, 'importer_instance_units': instance_units, }
def _csv_field_serializer_map(instance, field_names): """ Create serializer functions that convert values to the proper units. """ map = {} convertable_fields = {'tree__diameter': ('tree', 'diameter'), 'tree__height': ('tree', 'height'), 'tree__canopy_height': ('tree', 'canopy_height'), 'width': ('plot', 'width'), 'length': ('plot', 'length')} def make_serializer(factor, digits): return lambda x: str(round(factor * x, digits)) for name, details in convertable_fields.iteritems(): model_name, field = details factor = storage_to_instance_units_factor(instance, model_name, field) _, digits = get_value_display_attr(instance, model_name, field, 'digits') digits = int(digits) map[name] = make_serializer(factor, digits) return map
def _csv_field_serializer_map(instance, field_names): """ Create serializer functions that convert values to the proper units. """ map = {} convertable_fields = { 'tree__diameter': ('tree', 'diameter'), 'tree__height': ('tree', 'height'), 'tree__canopy_height': ('tree', 'canopy_height'), 'width': ('plot', 'width'), 'length': ('plot', 'length') } def make_serializer(factor, digits): return lambda x: str(round(factor * x, digits)) for name, details in convertable_fields.iteritems(): model_name, field = details factor = storage_to_instance_units_factor(instance, model_name, field) _, digits = get_value_display_attr(instance, model_name, field, 'digits') digits = int(digits) map[name] = make_serializer(factor, digits) return map
def identifier_and_value(key): return get_value_display_attr( instance, category_name, value_name, key)
def identifier_and_value(key): return get_value_display_attr(instance, category_name, value_name, key)