summaryrefslogtreecommitdiff
path: root/chimere/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/utils.py')
-rw-r--r--chimere/utils.py22
1 files changed, 17 insertions, 5 deletions
diff --git a/chimere/utils.py b/chimere/utils.py
index 7bf3ef0..e238a4b 100644
--- a/chimere/utils.py
+++ b/chimere/utils.py
@@ -571,11 +571,17 @@ class CSVManager(ImportManager):
# (label, getter, setter)
COLS = [("Id", 'pk', 'pk'), (_("Name"), 'name', 'name'),
- (_("Categories"), lambda obj: ", ".join(
- [c.name for c in obj.categories.all()]), set_categories),
+ (_("Categories"), lambda obj: ('"' + '";"'.join(
+ [c.name for c in obj.categories.all()]) + '"'), set_categories),
(_("State"), 'status', lambda x: x),
- (_("Description"), 'description', 'description'),
- (_("Localisation"), 'geometry', 'geometry')]
+ (_("Description"), 'description', 'description')]
+ EXTRA_COLS = {
+ "Marker": [
+ (_("Latitude"), 'y', 'set_y'),
+ (_("Longitude"), 'x', 'set_x')
+ ],
+ "Route": [(_("Localisation"), 'geometry', 'geometry')],
+ }
def _get(self, reader, cols):
from chimere.models import Marker, Route
@@ -642,7 +648,9 @@ class CSVManager(ImportManager):
for pm in Marker.all_properties():
prop_cols.append((pm.name, pm.getAttrName(),
pm.getAttrName() + '_set'))
- cols = list(self.COLS) + prop_cols
+ cols = list(self.COLS)
+ cols += self.EXTRA_COLS["Marker"]
+ cols += prop_cols
for coding in ['utf-8', 'windows-1252', 'iso-8859-1', 'iso-8859-15']:
try:
@@ -659,6 +667,10 @@ class CSVManager(ImportManager):
dct = {'description': str(datetime.date.today()), 'data': []}
# cls_name = queryset.model.__name__.lower()
cols = list(cls.COLS)
+ if "Marker" in queryset.model.__name__:
+ cols += cls.EXTRA_COLS["Marker"]
+ else:
+ cols += cls.EXTRA_COLS["Route"]
for pm in queryset.model.all_properties():
cols.append((pm.name, pm.getAttrName(), pm.getAttrName() + '_set'))
header = [col[0] for col in cols]