summaryrefslogtreecommitdiff
path: root/chimere/utils.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2013-03-16 12:00:45 +0100
committerÉtienne Loks <etienne.loks@peacefrogs.net>2013-03-16 12:00:45 +0100
commit24b244f358c05645e1dd11266fe1db3c1da03a52 (patch)
treec6f3d6d784e5186bebcbe22e47d2eb0fd7efe05e /chimere/utils.py
parent8ff3c1b6f1e7f41a3dfb373ea5bceb9f116603b9 (diff)
parent8f854e8ca5c816ab58aacc04b4c360dba3de83ee (diff)
downloadChimère-24b244f358c05645e1dd11266fe1db3c1da03a52.tar.bz2
Chimère-24b244f358c05645e1dd11266fe1db3c1da03a52.zip
Merge branch 'saclay'
Conflicts: chimere/migrations/0029_auto__add_field_marker_modified_since_import__add_field_marker_not_for.py chimere/migrations/0029_auto__add_propertymodelchoice.py chimere/migrations/0030_auto__add_field_importer_default_name.py chimere/migrations/0031_auto__add_field_subcategory_dated.py chimere/migrations/0031_auto__chg_field_picturefile_width__chg_field_picturefile_height.py chimere/migrations/0032_auto__add_field_subcategory_submission.py chimere/migrations/0033_auto__add_field_importer_source_file.py chimere/migrations/0034_auto__add_field_importer_origin__add_field_importer_license__add_field.py chimere/migrations/0035_area_permissions.py chimere/migrations/0035_auto__add_field_marker_modified_since_import__add_field_marker_not_for.py chimere/migrations/0036_auto.py chimere/migrations/0036_auto__add_field_importer_default_name.py chimere/migrations/0037_auto__add_unique_area_order__add_field_importer_associate_marker_to_wa.py chimere/migrations/0038_auto__chg_field_picturefile_width__chg_field_picturefile_height.py chimere/migrations/0039_auto__add_multimediaextension__chg_field_multimediafile_multimedia_typ.py chimere/migrations/0040_remove_excluded_status.py chimere/migrations/0041_auto__add_field_importer_overwrite.py chimere/migrations/0041_auto__add_field_importer_source_file.py chimere/migrations/0042_auto__add_field_importer_origin__add_field_importer_license__add_field.py chimere/migrations/0042_fix_rights.py chimere/migrations/0043_area_permissions.py chimere/migrations/0043_auto__add_field_importer_get_description.py chimere/migrations/0044_auto.py chimere/migrations/0044_auto__add_field_importer_default_description.py chimere/migrations/0046_auto__del_field_subcategory_routing_available.py chimere/migrations/0047_auto__add_unique_area_order__add_field_importer_associate_marker_to_wa.py chimere/migrations/0049_auto__chg_field_multimediafile_multimedia_type.py chimere/migrations/0050_remove_excluded_status.py chimere/migrations/0051_auto__add_field_importer_overwrite.py chimere/migrations/0054_fix_rights.py chimere/old_migrations/v2.0/0029_auto__add_field_marker_modified_since_import__add_field_marker_not_for.py chimere/old_migrations/v2.0/0030_auto__add_field_importer_default_name.py chimere/old_migrations/v2.0/0031_auto__chg_field_picturefile_width__chg_field_picturefile_height.py chimere/old_migrations/v2.0/0032_auto__add_field_subcategory_submission.py chimere/old_migrations/v2.0/0033_auto__add_field_importer_source_file.py chimere/old_migrations/v2.0/0034_auto__add_field_importer_origin__add_field_importer_license__add_field.py chimere/old_migrations/v2.0/0035_area_permissions.py chimere/old_migrations/v2.0/0036_auto.py chimere/old_migrations/v2.0/0037_auto__add_unique_area_order__add_field_importer_associate_marker_to_wa.py chimere/old_migrations/v2.0/0038_osm_import_filtr.py chimere/old_migrations/v2.0/0039_auto__add_multimediaextension__chg_field_multimediafile_multimedia_typ.py chimere/old_migrations/v2.0/0040_remove_excluded_status.py chimere/old_migrations/v2.0/0041_auto__add_field_importer_overwrite.py chimere/old_migrations/v2.0/0042_fix_rights.py chimere/old_migrations/v2.0/0043_auto__add_field_importer_get_description.py chimere/old_migrations/v2.0/0044_auto__add_field_importer_default_description.py
Diffstat (limited to 'chimere/utils.py')
-rw-r--r--chimere/utils.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/chimere/utils.py b/chimere/utils.py
index a82d88b..33ebdf7 100644
--- a/chimere/utils.py
+++ b/chimere/utils.py
@@ -86,6 +86,7 @@ class ImportManager(object):
'import_key__icontains':'%s:%s;' % (key, import_key),
'import_source':self.importer_instance.source}
try:
+ item = None
if pk:
ref_item = cls.objects.get(pk=pk)
else:
@@ -505,10 +506,10 @@ class CSVManager(ImportManager):
return (0, 0, msg)
reader = csv.reader(source, delimiter=';', quotechar='"')
prop_cols = []
- for pm in Marker.properties():
+ for pm in Marker.all_properties():
prop_cols.append((pm.name, pm.getAttrName(),
pm.getAttrName()+'_set'))
- cols = self.COLS + prop_cols
+ cols = list(self.COLS) + prop_cols
datas = []
for idx, row in enumerate(reader):
if not idx: # first row
@@ -538,7 +539,7 @@ class CSVManager(ImportManager):
dct['route'] = geom
else:
continue
- import_key = pk if pk else name
+ import_key = pk if pk else name.decode('utf-8')
item, updated, created = self.create_or_update_item(cls, dct,
import_key, pk=pk)
if updated:
@@ -556,8 +557,8 @@ class CSVManager(ImportManager):
def export(cls, queryset):
dct = {'description':unicode(datetime.date.today()), 'data':[]}
cls_name = queryset.model.__name__.lower()
- cols = cls.COLS
- for pm in queryset.model.properties():
+ cols = list(cls.COLS)
+ for pm in queryset.model.all_properties():
cols.append((pm.name, pm.getAttrName(), pm.getAttrName()+'_set'))
header = [col[0] for col in cols]
dct['data'].append(header)