Skip to content

Commit 9abb478

Browse files
authored
Update xlsx serializer + add .strip() method to import logic (#39)
1 parent 856dd52 commit 9abb478

File tree

4 files changed

+12
-10
lines changed

4 files changed

+12
-10
lines changed

vbos/datasets/admin.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,14 +91,14 @@ def import_file(self, request):
9191
VectorItem.objects.create(
9292
dataset=form.cleaned_data["dataset"],
9393
metadata=metadata.properties,
94-
name=metadata.name,
94+
name=metadata.name.strip(),
9595
ref=metadata.ref,
96-
attribute=metadata.attribute,
96+
attribute=metadata.attribute.strip(),
9797
province=Province.objects.filter(
98-
name__iexact=metadata.province
98+
name__iexact=metadata.province.strip()
9999
).first(),
100100
area_council=AreaCouncil.objects.filter(
101-
name__iexact=metadata.area_council
101+
name__iexact=metadata.area_council.strip()
102102
).first(),
103103
geometry=GEOSGeometry(json.dumps(item["geometry"])),
104104
)
@@ -184,7 +184,7 @@ def import_file(self, request):
184184
TabularItem.objects.create(
185185
dataset=form.cleaned_data["dataset"],
186186
metadata=csv_row.metadata,
187-
attribute=csv_row.attribute,
187+
attribute=csv_row.attribute.strip(),
188188
value=csv_row.value,
189189
date=csv_row.date,
190190
province=Province.objects.filter(

vbos/datasets/fixtures/test.csv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
Year,Month,Attribute,Province,Area Council,Value,Other
2-
2024,January,ecce,TAFEA,Futuna,1154,yes
2+
2024,January,ecce ,TAFEA,Futuna,1154,yes
33
2022,may,secondary,TAFEA,Futuna,1154,no
44
2025,,primary,,,1154

vbos/datasets/serializers.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,13 @@ class Meta:
2020

2121

2222
class ProvinceSerializer(GeoFeatureModelSerializer):
23-
2423
class Meta:
2524
model = Province
2625
geo_field = "geometry"
2726
fields = "__all__"
2827

2928

3029
class AreaCouncilSerializer(GeoFeatureModelSerializer):
31-
3230
class Meta:
3331
model = AreaCouncil
3432
geo_field = "geometry"
@@ -146,8 +144,8 @@ def __init__(self, *args, **kwargs):
146144
queryset = self.context["view"].get_queryset()
147145
all_keys = set()
148146
for item in queryset:
149-
if item.data and isinstance(item.data, dict):
150-
all_keys.update(item.data.keys())
147+
if item.metadata and isinstance(item.metadata, dict):
148+
all_keys.update(item.metadata.keys())
151149

152150
# Create a field for each key
153151
for key in all_keys:

vbos/datasets/test/test_tabular_views.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,10 @@ def test_tabular_datasets_data(self):
163163
assert req.data.get("results")[0]["attribute"] == "Employed Population"
164164
assert req.data.get("results")[0]["additional_value"] == "test"
165165

166+
# test xlsx format
167+
req = self.client.get(url, {"format": "xlsx"})
168+
assert req.status_code == status.HTTP_200_OK
169+
166170
def test_filter_data(self):
167171
url = reverse("datasets:tabular-data", args=[self.dataset_2.id])
168172
req = self.client.get(url, {"date_after": "2025-01-01"})

0 commit comments

Comments
 (0)