From f7e531606006677b46eefd76975fba82f4849225 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 15 Jul 2013 17:48:45 +0200 Subject: Import operations: fix comments --- archaeological_operations/import_from_csv.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/archaeological_operations/import_from_csv.py b/archaeological_operations/import_from_csv.py index 790f0e078..e2d77dbf3 100644 --- a/archaeological_operations/import_from_csv.py +++ b/archaeological_operations/import_from_csv.py @@ -330,12 +330,12 @@ def parse_person(surname, name, old_ref, owner): p = Person.objects.create(**defaults) return p -def parse_comment_addr_nature(addr, nature, owner): +def parse_comment_addr_nature(nature, addr, owner): addr = parse_string(addr) nature = parse_string(nature) comments = [] if nature: - comments += [u"Amanégement :", nature] + comments += [u"Aménagement :", nature] if addr: comments += [u"Adresse :", addr] if not comments: -- cgit v1.2.3 From 0323696509b9885900590c5a28ac9ac7e8cdc039 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 15 Jul 2013 19:06:40 +0200 Subject: Operation import: remove file import --- archaeological_operations/import_from_csv.py | 33 +++++++++++++++++----------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/archaeological_operations/import_from_csv.py b/archaeological_operations/import_from_csv.py index e2d77dbf3..3f29bcb95 100644 --- a/archaeological_operations/import_from_csv.py +++ b/archaeological_operations/import_from_csv.py @@ -552,13 +552,20 @@ class RelatedClass: unique_data = {} for k in self.unique_keys: unique_data[k] = data.pop(k) - if self.cls.objects.filter(**unique_data).count() > 1: - return None - unique_data['defaults'] = data - try: - obj, created = self.cls.objects.get_or_create(**unique_data) - except ValueError: - return None + created = False + filtr = unique_data.copy() + q = None + # check if all condition have a value + if not [k for k in filtr if not filtr[k]]: + q = self.cls.objects.filter(**unique_data) + if q and q.count() > 1: + obj = q.all()[0] + else: + unique_data['defaults'] = data + try: + obj, created = self.cls.objects.get_or_create(**unique_data) + except ValueError: + return None if not created: for k in unique_data['defaults']: try: @@ -608,12 +615,12 @@ def import_operations_csv(values, col_defs=OPE_COLS, update=True, person=None, }, reverse_key='operation', unique_keys=['ref_sra']), - RelatedClass('associated_file', File, - extra_data=['year'], - default_data={'history_modifier':default_person, - 'file_type':FileType.objects.get( - txt_idx='undefined')}, - unique_keys=['internal_reference']), + #RelatedClass('associated_file', File, + # extra_data=['year'], + # default_data={'history_modifier':default_person, + # 'file_type':FileType.objects.get( + # txt_idx='undefined')}, + # unique_keys=['internal_reference', 'year']), RelatedClass('source', OperationSource, reverse_key='operation', unique_keys=['index']), RelatedClass('parcels', Parcel, reverse_key='operation', -- cgit v1.2.3