sp_fr: extract email from header file (#32848)

This commit is contained in:
Benjamin Dauvergne 2019-05-07 11:11:33 +02:00
parent c8fc7409f2
commit c834f429bc
1 changed files with 12 additions and 1 deletions

View File

@ -62,6 +62,10 @@ ROUTAGE_XPATH = ET.XPath(
('dgme-metier:Routage/dgme-metier:Donnee/dgme-metier:Valeur/text()'),
namespaces=NSMAP)
EMAIL_XPATH = ET.XPath(
('dgme-metier:Teledemarche/dgme-metier:Email/text()'),
namespaces=NSMAP)
DOCUMENTS_XPATH = ET.XPath('dgme-metier:Document', namespaces=NSMAP)
PIECE_JOINTE_XPATH = ET.XPath('dgme-metier:PieceJointe', namespaces=NSMAP)
CODE_XPATH = ET.XPath('dgme-metier:Code', namespaces=NSMAP)
@ -272,7 +276,13 @@ class Resource(BaseResource):
return False, 'too many/few insee codes found: %s' % insee_codes
insee_code = insee_codes[0]
data = {'insee_code': insee_code}
email = EMAIL_XPATH(document)
email = email[0] if email else ''
data = {
'insee_code': insee_code,
'email': email,
}
data.update(attachments)
with archive.open(doc_file) as fd:
@ -513,6 +523,7 @@ class Mapping(models.Model):
@property
def variables(self):
yield 'insee_code'
yield 'email'
for path, xsd_type in self.xsd.paths():
names = [simplify(tag.localname) for tag in path]
yield '_'.join(names)