Ejemplo n.º 1
0
    def get_profile(self):
        profile = Person()

        profile.name = Format('%s %s', CleanText('//div[@id="persoIdentiteDetail"]//dd[3]'), CleanText('//div[@id="persoIdentiteDetail"]//dd[2]'))(self.doc)
        profile.address = CleanText('//div[@id="persoAdresseDetail"]//dd')(self.doc)
        profile.email = CleanText('//div[@id="persoEmailDetail"]//td[2]')(self.doc)
        profile.job = CleanText('//div[@id="persoIdentiteDetail"]//dd[4]')(self.doc)

        return profile
Ejemplo n.º 2
0
    def get_profile(self):
        profile = Person()
        profile.name = Regexp(CleanText('//div[@id="dcr-conteneur"]//div[contains(text(), "PROFIL DE")]'), r'PROFIL DE (.*)')(self.doc)
        profile.address = CleanText('//div[@id="dcr-conteneur"]//div[contains(text(), "ADRESSE")]/following::table//tr[3]/td[2]')(self.doc)
        profile.address += ' ' + CleanText('//div[@id="dcr-conteneur"]//div[contains(text(), "ADRESSE")]/following::table//tr[5]/td[2]')(self.doc)
        profile.address += ' ' + CleanText('//div[@id="dcr-conteneur"]//div[contains(text(), "ADRESSE")]/following::table//tr[6]/td[2]')(self.doc)
        profile.country = CleanText('//div[@id="dcr-conteneur"]//div[contains(text(), "ADRESSE")]/following::table//tr[7]/td[2]')(self.doc)

        return profile
Ejemplo n.º 3
0
    def get_profile(self):
        form = self.get_form(xpath='//div[@class="popin-card"]')

        profile = Person()

        profile.name = '%s %s' % (form['party.first_name'], form['party.preferred_last_name'])
        profile.address = '%s %s %s' % (form['mailing_address.street_line'], form['mailing_address.zip_postal_code'], form['mailing_address.locality'])
        profile.email = CleanText('//label[@class="email-editable"]')(self.doc)
        profile.phone = CleanText('//div[@class="info-title colorized phone-disabled"]//label', children=False)(self.doc)
        return profile
Ejemplo n.º 4
0
    def get_profile(self):
        profile = Person()

        content = self.get_content()

        profile.name = content['prenom'] + ' ' + content['nom']
        profile.address = content['adresse'] + ' ' + content['codePostal'] + ' ' + content['ville']
        profile.country = content['pays']
        profile.birth_date = parse_french_date(content['dateNaissance']).date()

        return profile
Ejemplo n.º 5
0
    def get_profile(self, name):
        error_xpath = '//div[contains(text(), "Nous vous invitons à prendre contact avec votre conseiller")]'
        if self.doc.xpath(error_xpath):
            raise ProfileMissing(CleanText(error_xpath, children=False)(self.doc))

        profile = Person()
        profile.name = name
        try:
            profile.email = Attr('//input[@id="textMail"]', 'value')(self.doc)
        except AttributeNotFound:
            pass
        nb = Attr('//input[@id="nbEnfant"]', 'value', default=NotAvailable)(self.doc)
        if nb:
            profile.children = Decimal(nb)
        return profile
Ejemplo n.º 6
0
    def get_profile(self):
        profile = Person()

        # the name is only available in a welcome message. Sometimes, the message will look like that :
        # "Bienvenue M <first> <lastname> - <company name>" and sometimes just "Bienvenue M <firstname> <lastname>"
        # Or even "Bienvenue <company name>"
        # We need to detect wether the company name is there, and where it begins.
        # relying on the dash only is dangerous as people may have dashes in their name and so may companies.
        # but we can detect company name from a dash between space
        # because we consider that impossible to be called jean - charles but only jean-charles
        welcome_msg = CleanText('//div[@id="BlcBienvenue"]/div[@class="btit"]')(self.doc)

        full_name_re = re.search(r'Bienvenue\s(((?! - ).)*)( - )?(.*)', welcome_msg)
        name_re = re.search(r'M(?:me|lle)? (.*)', full_name_re.group(1))

        profile.email = CleanText('//span[@id="fld8"]')(self.doc)

        if name_re:
            profile.name = name_re.group(1)
            if full_name_re.group(4):
                profile.company_name = full_name_re.group(4)
        else:
            profile.company_name = full_name_re.group(1)

        profile.email = CleanText('//span[contains(text(), "@")]')(self.doc)

        return profile
Ejemplo n.º 7
0
    def get_profile(self):
        profile = Person()

        profile.name = Format('%s %s', CleanText('//div[@id="persoIdentiteDetail"]//dd[3]'), CleanText('//div[@id="persoIdentiteDetail"]//dd[2]'))(self.doc)
        profile.address = CleanText('//div[@id="persoAdresseDetail"]//dd')(self.doc)
        profile.email = CleanText('//div[@id="persoEmailDetail"]//td[2]')(self.doc)
        profile.job = CleanText('//div[@id="persoIdentiteDetail"]//dd[4]')(self.doc)

        return profile
Ejemplo n.º 8
0
    def get_profile(self):
        profile = Person()
        profile.name = Regexp(CleanText('//div[@id="dcr-conteneur"]//div[contains(text(), "PROFIL DE")]'), r'PROFIL DE (.*)')(self.doc)
        profile.address = CleanText('//div[@id="dcr-conteneur"]//div[contains(text(), "ADRESSE")]/following::table//tr[3]/td[2]')(self.doc)
        profile.address += ' ' + CleanText('//div[@id="dcr-conteneur"]//div[contains(text(), "ADRESSE")]/following::table//tr[5]/td[2]')(self.doc)
        profile.address += ' ' + CleanText('//div[@id="dcr-conteneur"]//div[contains(text(), "ADRESSE")]/following::table//tr[6]/td[2]')(self.doc)
        profile.country = CleanText('//div[@id="dcr-conteneur"]//div[contains(text(), "ADRESSE")]/following::table//tr[7]/td[2]')(self.doc)
        profile.email = CleanText('//span[@id="currentEmail"]')(self.doc)

        return profile
Ejemplo n.º 9
0
    def get_profile(self):
        profile = Person()

        content = self.get_content()

        profile.name = content['prenom'] + ' ' + content['nom']
        profile.address = content['adresse'] + ' ' + content[
            'codePostal'] + ' ' + content['ville']
        profile.country = content['pays']
        profile.birth_date = parse_french_date(content['dateNaissance']).date()

        return profile
Ejemplo n.º 10
0
    def get_profile(self):
        self.get_universes()
        profile = Person()

        content = self.location('/transactionnel/services/rest/User/user').json()['content']

        profile.name = content['prenom'] + ' ' + content['nom']
        profile.address = content['adresse'] + ' ' + content['codePostal'] + ' ' + content['ville']
        profile.country = content['pays']
        profile.birth_date = parse_french_date(content['dateNaissance']).date()

        content = self.location('/transactionnel/services/applications/gestionEmail/getAdressesMails').json()['content']
        profile.email = content['emailPart']

        return profile
Ejemplo n.º 11
0
    def get_profile(self):
        form = self.get_form(xpath='//div[@class="popin-card"]')

        profile = Person()

        profile.name = '%s %s' % (form['party.first_name'],
                                  form['party.preferred_last_name'])
        profile.address = '%s %s %s' % (
            form['mailing_address.street_line'],
            form['mailing_address.zip_postal_code'],
            form['mailing_address.locality'])
        profile.email = CleanText('//label[@class="email-editable"]')(self.doc)
        profile.phone = CleanText(
            '//div[@class="info-title colorized phone-disabled"]//label',
            children=False)(self.doc)
        return profile
Ejemplo n.º 12
0
 def get_profile(self):
     d = {el[0]: el[1] for el in self.doc}
     profile = Person()
     profile.name = '%s %s' % (d['Nom'], d['Prénom'])
     profile.birth_date = parse_french_date(d['Date de naissance']).date()
     profile.address = '%s %s %s' % (d['Adresse de correspondance'], d['Code postal résidence fiscale'], d['Ville adresse de correspondance'])
     profile.country = d['Pays adresse de correspondance']
     profile.email = d['Adresse e-mail']
     profile.phone = d.get('Téléphone portable')
     profile.job_activity_area = d.get('Secteur d\'activité')
     profile.job = d.get('Situation professionnelle')
     profile.company_name = d.get('Employeur')
     profile.family_situation = d.get('Situation familiale')
     return profile
Ejemplo n.º 13
0
 def get_profile(self):
     d = {el[0]: el[1] for el in self.doc}
     profile = Person()
     profile.name = '%s %s' % (d['Nom'], d['Prénom'])
     profile.birth_date = parse_french_date(d['Date de naissance']).date()
     profile.address = '%s %s %s' % (d['Adresse de correspondance'], d['Code postal résidence fiscale'], d['Ville adresse de correspondance'])
     profile.country = d['Pays adresse de correspondance']
     profile.email = d['Adresse e-mail']
     profile.phone = d.get('Téléphone portable')
     profile.job_activity_area = d.get('Secteur d\'activité')
     profile.job = d.get('Situation professionnelle')
     profile.company_name = d.get('Employeur')
     profile.family_situation = d.get('Situation familiale')
     return profile