from .. import Provider as PersonProvider


class Provider(PersonProvider):
    formats_female = (
        '{{first_name_female}} {{last_name}}',
        '{{first_name_female}} {{last_name}}',
        '{{first_name_female}} {{last_name}}',
        '{{first_name_female}} {{last_name}}',
        '{{first_name_female}} {{last_name}}',
        '{{first_name_female}} {{last_name}}',
        '{{first_name_female}} {{last_name}}-{{last_name}}',
    )

    formats_male = (
        '{{first_name_male}} {{last_name}}',
        '{{first_name_male}} {{last_name}}',
        '{{first_name_male}} {{last_name}}',
        '{{first_name_male}} {{last_name}}',
        '{{first_name_male}} {{last_name}}',
        '{{first_name_male}} {{last_name}}',
        '{{first_name_male}} {{last_name}}-{{last_name}}',
    )

    formats = formats_male + formats_female

    # source:
    # http://www.bfs.admin.ch/bfs/portal/fr/index/news/publikationen.html?publicationID=6704
    first_names_male = [
        'Alain',
        'Albert',
        'Alexandre',
        'André',
        'Antonio',
        'Arthur',
        'Bernard',
        'Bruno',
        'Charles',
        'Christian',
        'Christophe',
        'Claude',
        'Daniel',
        'David',
        'Eric',
        'Ethan',
        'Florian',
        'François',
        'Frédéric',
        'Gabriel',
        'Georges',
        'Gilbert',
        'Guillaume',
        'Gérard',
        'Henri',
        'Hugo',
        'Jacques',
        'Jean',
        'Jean-Claude',
        'Jean-Pierre',
        'Jonathan',
        'José',
        'Julien',
        'Kevin',
        'Laurent',
        'Louis',
        'Loïc',
        'Luca',
        'Lucas',
        'Léo',
        'Manuel',
        'Marcel',
        'Mathieu',
        'Matteo',
        'Maurice',
        'Maxime',
        'Michael',
        'Michel',
        'Nathan',
        'Nicolas',
        'Noah',
        'Nolan',
        'Olivier',
        'Pascal',
        'Patrick',
        'Paul',
        'Philippe',
        'Pierre',
        'Raymond',
        'René',
        'Robert',
        'Roger',
        'Roland',
        'Romain',
        'Samuel',
        'Stéphane',
        'Sébastien',
        'Thierry',
        'Thomas',
        'Théo',
        'Vincent']

    first_names_female = [
        'Alice',
        'Alicia',
        'Ana',
        'Anna',
        'Anne',
        'Aurélie',
        'Camille',
        'Caroline',
        'Catherine',
        'Chantal',
        'Charlotte',
        'Chloé',
        'Christiane',
        'Christine',
        'Clara',
        'Claudine',
        'Corinne',
        'Céline',
        'Danielle',
        'Denise',
        'Eliane',
        'Elisa',
        'Elisabeth',
        'Elodie',
        'Emilie',
        'Emma',
        'Eva',
        'Fabienne',
        'Françoise',
        'Georgette',
        'Germaine',
        'Hélène',
        'Isabelle',
        'Jacqueline',
        'Jeanne',
        'Jessica',
        'Josiane',
        'Julie',
        'Laetitia',
        'Lara',
        'Laura',
        'Laurence',
        'Liliane',
        'Lisa',
        'Lucie',
        'Léa',
        'Madeleine',
        'Manon',
        'Marcelle',
        'Marguerite',
        'Maria',
        'Marianne',
        'Marie',
        'Mathilde',
        'Monique',
        'Mélanie',
        'Nathalie',
        'Nelly',
        'Nicole',
        'Odette',
        'Patricia',
        'Sandra',
        'Sandrine',
        'Sara',
        'Sarah',
        'Simone',
        'Sophie',
        'Stéphanie',
        'Suzanne',
        'Sylvie',
        'Thérèse',
        'Valérie',
        'Vanessa',
        'Véronique',
        'Yvette',
        'Yvonne',
        'Zoé']

    first_names = first_names_male + first_names_female

    # source = http://kunden.eye.ch/swissgen/rsr/index.html
    last_names = ['Aebi', 'Aeby', 'Alber', 'Babey', 'Badan', 'Badel', 'Bahon',
                  'Balmat', 'Barbey', 'Barillon', 'Barman', 'Bavaud', 'Beguin',
                  'Berberat', 'Bernasconi', 'Besançon', 'Besençon', 'Besse', 'Beuchat',
                  'Beuret', 'Beurret', 'Blanc', 'Bochud', 'Boechat', 'Boichat', 'Boillat',
                  'Bonvin', 'Bonvini', 'Botteron', 'Bourquard', 'Bourquin', 'Bouvier',
                  'Bovet', 'Brahier', 'Brandt', 'Broquet', 'Bugnon', 'Bujard', 'Béguelin',
                  'Candaux', 'Carraud', 'Carraux', 'Carron', 'Cattin', 'Chappuis',
                  'Chapuis', 'Charpié', 'Chatriand', 'Chatriant', 'Chaudet', 'Chenaux',
                  'Chevalley', 'Chevrolet', 'Chopard', 'Coigny', 'Comman', 'Comment',
                  'Comte', 'Conrad', 'Corbat', 'Corboz', 'Cornut', 'Cornuz', 'Corpataux',
                  'Cosandey', 'Cosendey', 'Cossy', 'Courvoisier', 'Cousin', 'Cretton',
                  'Crevoisier', 'Crivelli', 'Curdy', 'de Dardel', 'Deladoëy', 'Delèze',
                  'Deshusses', 'Diesbach', 'Droz', 'Dubey', 'Duroux', 'Duvanel', 'Délèze',
                  'Evéquoz', 'Fonjallaz', 'Francillon', 'Galland', 'Georges', 'Gillièron',
                  'Gilliéron', 'Godet', 'Grand', 'Grojean', 'Grosjean', 'Gubéran',
                  'Humbert', 'Isella', 'Jacot-Descombes', 'Jacot-Guillarmod', 'Joly',
                  'Jomini', 'Joye', 'Julliard', 'Maire', 'Marti', 'Martin', 'Marty',
                  'Masseron', 'Matile', 'Mayor', 'Menthonnex', 'Mercier', 'Meyer',
                  'Monnard', 'Monnet', 'Monnet', 'Monney', 'Montandon', 'Morand',
                  'Morard', 'Mottet', 'Mottiez', 'Muriset', 'Musy', 'Müller', 'Niquille',
                  'Nusslé', 'Nüsslin', 'Paccot', 'Pachoud', 'Paschoud', 'Pasquier',
                  'Peitrequin', 'Pellet', 'Piccand', 'Polla', 'Privet', 'Quartier',
                  'Rapin', 'Rappaz', 'Rapraz', 'Rey', 'Robadey', 'Robert', 'Romanens',
                  'Rosselat', 'Rosselet', 'Rossellat', 'Sandoz', 'Sansonnens', 'Saudan',
                  'Thorens', 'Théraulaz', 'Tinguely', 'Treboux', 'Uldry', 'Vallélian',
                  'Vermeil', 'Vienne', 'Vonlanthen', 'Vuille', 'Wicht',
                  ]
