This repository has been archived on 2023-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
calebasse/calebasse/cv2helper.py

77 lines
2.4 KiB
Python

from datetime import datetime
from django.conf import settings
def parse_date_ddmmyyyy(str_date):
fmt = '%d%m%Y'
return datetime.strptime(str_date, fmt)
def parse_date_yymmdd(str_date):
fmt = '%y%m%d'
return datetime.strptime(str_date, fmt)
def setter_date_ddmmyyyy(field):
try:
return parse_date_ddmmyyyy(str(field))
except:
pass
def setter_date_yymmdd(field):
try:
return parse_date_yymmdd(str(field))
except:
pass
def setter_periode(start, end):
try:
return parse_date_ddmmyyyy(str(start)), parse_date_ddmmyyyy(str(end))
except:
pass
if settings.CV2PARSER:
from cv2parser import cvitale
def parse(filename):
cv = cvitale.parse(filename)
for beneficiaire in cv.listeBenef.get_element():
"""
ident
"""
beneficiaire.ident.naissance.date = \
setter_date_ddmmyyyy(beneficiaire.ident.naissance.date)
beneficiaire.ident.naissance.dateEnCarte = \
setter_date_yymmdd(beneficiaire.ident.naissance.dateEnCarte)
beneficiaire.ident.dateCertification = \
setter_date_ddmmyyyy(beneficiaire.ident.dateCertification)
"""
amo
"""
if beneficiaire.amo.listePeriodesDroits:
for p in beneficiaire.amo.listePeriodesDroits.get_element():
p.debut, p.fin = setter_periode(p.debut, p.fin)
if beneficiaire.amo.service and \
beneficiaire.amo.service.periodeService:
p = beneficiaire.amo.service.periodeService
p.debut, p.fin = setter_periode(p.debut, p.fin)
"""
mutuelle
"""
if beneficiaire.mutuelle and beneficiaire.mutuelle.listePeriodes:
for p in beneficiaire.mutuelle.listePeriodes.get_element():
p.debut, p.fin = setter_periode(p.debut, p.fin)
"""
amc
"""
if beneficiaire.amc and beneficiaire.amc.validiteDonnees:
p = beneficiaire.amc.validiteDonnees
p.debut, p.fin = setter_periode(p.debut, p.fin)
"""
cmu
"""
if beneficiaire.cmu and beneficiaire.cmu.periode:
p = beneficiaire.cmu.periode
p.debut, p.fin = setter_periode(p.debut, p.fin)
return cv