summaryrefslogtreecommitdiff
path: root/archaeological_operations/import_from_dbf.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_operations/import_from_dbf.py')
-rw-r--r--archaeological_operations/import_from_dbf.py77
1 files changed, 2 insertions, 75 deletions
diff --git a/archaeological_operations/import_from_dbf.py b/archaeological_operations/import_from_dbf.py
index 6b20f6e10..1e3d6a0ea 100644
--- a/archaeological_operations/import_from_dbf.py
+++ b/archaeological_operations/import_from_dbf.py
@@ -31,7 +31,8 @@ from django.contrib.auth.models import User
from django.db import transaction
from archaeological_operations.import_from_csv import parse_operationtype, \
- parse_multivalue, parse_person as _parse_person, parse_date
+ parse_multivalue, parse_person as _parse_person, parse_date,\
+ Column, parse_patriarche_operationtype, parse_ope_name
from archaeological_operations.models import Operation, OperationType, Period, \
AdministrativeAct, ActType
@@ -100,80 +101,6 @@ def parse_period(value):
value = ''
return _CACHED_PERIOD_TYPES[value]
-ope_types = {
- 'AET':('other_study',
- 'Autre étude', True),
- 'APP':('assistance_preparation_help',
- 'Aide à la préparation de publication', True),
- 'DOC':('documents_study',
- 'Étude documentaire', True),
- 'EV':('evaluation',
- "Fouille d'évaluation", True),
- 'FOU':('ancient_excavation',
- "Fouille ancienne", True),
- 'FP':('prog_excavation',
- "Fouille programmée", False),
- 'MH':('building_study', "Fouille avant MH", True),
- 'OPD':('arch_diagnostic',
- "Diagnostic archéologique", True),
- 'PAN':('analysis_program',
- "Programme d'analyses", False),
- 'PCR':('collective_research_project',
- "Projet collectif de recherche", False),
- 'PMS':('specialized_eqp_prospection',
- "Prospection avec matériel spécialisé", False),
- 'PRD':('diachronic_prospection',
- "Prospection diachronique", False),
- 'PI':('diachronic_prospection',
- "Prospection diachronique", False),
- 'PRM':('metal_detector_prospection',
- "Prospection détecteur de métaux", False),
- 'PRT':('thematic_prospection',
- "Prospection thématique", False),
- 'PT':('thematic_prospection',
- "Prospection thématique", False),
- 'RAR':('cave_art_record',
- "Relevé d'art rupestre", False),
- 'SD':('sampling_research',
- "Sondage", False),
- 'SP':('prev_excavation',
- "Fouille préventive", True),
- 'SU':('emergency_excavation',
- "Fouille préventive d'urgence", True),
-}
-
-_CACHED_OPE_TYPES = {}
-
-def _prepare_ope_types():
- for k in ope_types.keys():
- txt_idx, label, preventive = ope_types[k]
- ot, created = OperationType.objects.get_or_create(txt_idx=txt_idx,
- defaults={'label':label, 'preventive':preventive})
- if k not in _CACHED_OPE_TYPES.keys():
- _CACHED_OPE_TYPES[k] = ot
-
-def parse_patriarche_operationtype(value):
- if value not in _CACHED_OPE_TYPES.keys():
- return None
- return _CACHED_OPE_TYPES[value]
-
-_dpt_re_filter = re.compile('^\([0-9]*\) ')
-
-def parse_ope_name(value):
- if not value:
- return ''
- value = value.strip()
- if value.lower() == 'null':
- return ''
- value = _dpt_re_filter.sub('', value)
- return value
-
-class Column:
- def __init__(self, col_models, format, associated_cols=None, multi=False):
- self.col_models, self.format = col_models, format
- self.associated_cols, self.multi = associated_cols, multi
-
-
PATRIARCHE_DBF_OPE_COLS = [
Column(('operation_type',), 'parse_patriarche_operationtype'),
Column(('common_name',), 'parse_ope_name'),