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

104 lines
3.7 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:
import codecs
import json
from cv2parser import cvitale
def parse(filename):
f = codecs.open("calebasse/tables.json", 'r',
encoding='ISO-8859-1')
tables = json.loads(f.read())
cv = cvitale.parse(filename)
if cv.tech.finValidite:
cv.tech.finValidite = setter_date_ddmmyyyy(cv.tech.finValidite)
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 and beneficiaire.amo.listePeriodesDroits.get_element():
for p in beneficiaire.amo.listePeriodesDroits.get_element():
if p.debut and p.fin:
p.debut, p.fin = setter_periode(p.debut, p.fin)
if beneficiaire.amo.service and \
beneficiaire.amo.service.periodeService:
p = beneficiaire.amo.service.periodeService
if p.debut and p.fin:
p.debut, p.fin = setter_periode(p.debut, p.fin)
beneficiaire.amo.qualBenef = \
tables['TABLE_QUALITE'][str(beneficiaire.amo.qualBenef)]
if beneficiaire.amo.infoCompl:
beneficiaire.amo.infoCompl = \
tables['TABLE_DIVERS'][str(beneficiaire.amo.infoCompl)]
if beneficiaire.amo.service and beneficiaire.amo.service.codeService:
beneficiaire.amo.service.codeService = \
tables['TABLE_SERVAMO'][str(beneficiaire.amo.service.codeService)]
"""
mutuelle
"""
if beneficiaire.mutuelle and beneficiaire.mutuelle.listePeriodes:
for p in beneficiaire.mutuelle.listePeriodes.get_element():
if p.debut and p.fin:
p.debut, p.fin = setter_periode(p.debut, p.fin)
if beneficiaire.mutuelle and beneficiaire.mutuelle.services \
and beneficiaire.mutuelle.services.typeService:
beneficiaire.mutuelle.services.typeService = \
tables['TABLE_SERVMUTAMC'][str(beneficiaire.mutuelle.services.typeService)]
"""
amc
"""
if beneficiaire.amc and beneficiaire.amc.validiteDonnees:
p = beneficiaire.amc.validiteDonnees
if p.debut and p.fin:
p.debut, p.fin = setter_periode(p.debut, p.fin)
"""
cmu
"""
if beneficiaire.cmu and beneficiaire.cmu.periode:
p = beneficiaire.cmu.periode
if p.debut and p.fin:
p.debut, p.fin = setter_periode(p.debut, p.fin)
f.close()
return cv