From 709b40fbe1cacdd9d50a1f850abd166acd3ebf85 Mon Sep 17 00:00:00 2001 From: Julio Lacerda Date: Wed, 20 Nov 2019 15:26:52 +0000 Subject: [PATCH] Add counties (concelhos) for locale pt_PT (#983) --- faker/providers/address/pt_PT/__init__.py | 76 +++++++++++++++++++++++ tests/providers/test_address.py | 5 ++ 2 files changed, 81 insertions(+) diff --git a/faker/providers/address/pt_PT/__init__.py b/faker/providers/address/pt_PT/__init__.py index 1b5e3814a9..f42a0720b0 100644 --- a/faker/providers/address/pt_PT/__init__.py +++ b/faker/providers/address/pt_PT/__init__.py @@ -124,6 +124,76 @@ class Provider(AddressProvider): 'Santarém', 'Setúbal', 'Viana do Castelo', 'Vila Real', 'Viseu', ) + # From https://pt.wikipedia.org/wiki/Lista_de_concelhos_por_NUTS,_distritos_e_ilhas + concelhos = ( + "Águeda", "Aguiar da Beira", "Alandroal", "Albergaria-a-Velha", "Albufeira", + "Alcácer do Sal", "Alcanena", "Alcobaça", "Alcochete", "Alcoutim", "Alenquer", + "Alfândega da Fé", "Alijó", "Aljezur", "Aljustrel", "Almada", "Almeida", "Almeirim", + "Almodôvar", "Alpiarça", "Alter do Chão", "Alvaiázere", "Alvito", "Amadora", + "Amarante", "Amares", "Anadia", "Angra do Heroísmo", "Ansião", + "Arcos de Valdevez", "Arganil", "Armamar", "Arouca", "Arraiolos", + "Arronches", "Arruda dos Vinhos", "Aveiro", "Avis", "Azambuja", + "Baião", "Barcelos", "Barrancos", "Barreiro", "Batalha", "Beja", + "Belmonte", "Benavente", "Bombarral", "Borba", "Boticas", "Braga", + "Bragança", "Cabeceiras de Basto", "Cadaval", "Caldas da Rainha", + "Calheta (R.A.A.)", "Calheta (R.A.M.)", "Câmara de Lobos", "Caminha", + "Campo Maior", "Cantanhede", "Carrazeda de Ansiães", "Carregal do Sal", + "Cartaxo", "Cascais", "Castanheira de Pêra", "Castelo Branco", + "Castelo de Paiva", "Castelo de Vide", "Castro Daire", "Castro Marim", + "Castro Verde", "Celorico da Beira", "Celorico de Basto", "Chamusca", + "Chaves", "Cinfães", "Coimbra", "Condeixa-a-Nova", "Constância", + "Coruche", "Corvo", "Covilhã", "Crato", "Cuba", "Elvas", + "Entroncamento", "Espinho", "Esposende", "Estarreja", "Estremoz", + "Évora", "Fafe", "Faro", "Felgueiras", "Ferreira do Alentejo", + "Ferreira do Zêzere", "Figueira da Foz", "Figueira de Castelo Rodrigo", + "Figueiró dos Vinhos", "Fornos de Algodres", "Freixo de Espada à Cinta", + "Fronteira", "Funchal", "Fundão", "Gavião", "Góis", "Golegã", "Gondomar", + "Gouveia", "Grândola", "Guarda", "Guimarães", "Horta", "Idanha-a-Nova", + "Ílhavo", "Lagoa", "Lagoa (R.A.A)", "Lagos", "Lajes das Flores", + "Lajes do Pico", "Lamego", "Leiria", "Lisboa", "Loulé", "Loures", + "Lourinhã", "Lousã", "Lousada", "Mação", "Macedo de Cavaleiros", + "Machico", "Madalena", "Mafra", "Maia", "Mangualde", "Manteigas", + "Marco de Canaveses", "Marinha Grande", "Marvão", "Matosinhos", + "Mealhada", "Meda", "Melgaço", "Mértola", "Mesão Frio", "Mira", + "Miranda do Corvo", "Miranda do Douro", "Mirandela", "Mogadouro", + "Moimenta da Beira", "Moita", "Monção", "Monchique", "Mondim de Basto", + "Monforte", "Montalegre", "Montemor-o-Novo", "Montemor-o-Velho", "Montijo", + "Mora", "Mortágua", "Moura", "Mourão", "Murça", "Murtosa", "Nazaré", + "Nelas", "Nisa", "Nordeste", "Óbidos", "Odemira", "Odivelas", "Oeiras", + "Oleiros", "Olhão", "Oliveira de Azeméis", "Oliveira de Frades", + "Oliveira do Bairro", "Oliveira do Hospital", "Ourém", "Ourique", "Ovar", + "Paços de Ferreira", "Palmela", "Pampilhosa da Serra", "Paredes", + "Paredes de Coura", "Pedrógão Grande", "Penacova", "Penafiel", + "Penalva do Castelo", "Penamacor", "Penedono", "Penela", "Peniche", + "Peso da Régua", "Pinhel", "Pombal", "Ponta Delgada", "Ponta do Sol", + "Ponte da Barca", "Ponte de Lima", "Ponte de Sor", "Portalegre", "Portel", + "Portimão", "Porto", "Porto de Mós", "Porto Moniz", "Porto Santo", + "Povoação", "Póvoa de Lanhoso", "Póvoa de Varzim", "Proença-a-Nova", + "Redondo", "Reguengos de Monsaraz", "Resende", "Ribeira Brava", + "Ribeira de Pena", "Ribeira Grande", "Rio Maior", "Sabrosa", + "Sabugal", "Salvaterra de Magos", "Santa Comba Dão", "Santa Cruz", + "Santa Cruz da Graciosa", "Santa Cruz das Flores", "Santa Maria da Feira", + "Santa Marta de Penaguião", "Santana", "Santarém", "Santiago do Cacém", + "Santo Tirso", "São Brás de Alportel", "São João da Madeira", + "São João da Pesqueira", "São Pedro do Sul", "São Roque do Pico", + "São Vicente", "Sardoal", "Sátão", "Seia", "Seixal", "Sernancelhe", + "Serpa", "Sertã", "Sesimbra", "Setúbal", "Sever do Vouga", "Silves", + "Sines", "Sintra", "Sobral de Monte Agraço", "Soure", "Sousel", + "Tábua", "Tabuaço", "Tarouca", "Tavira", "Terras de Bouro", + "Tomar", "Tondela", "Torre de Moncorvo", "Torres Novas", + "Torres Vedras", "Trancoso", "Trofa", "Vagos", "Vale de Cambra", + "Valença", "Valongo", "Valpaços", "Velas", "Vendas Novas", + "Viana do Alentejo", "Viana do Castelo", "Vidigueira", + "Vieira do Minho", "Vila da Praia da Vitória", "Vila de Rei", + "Vila do Bispo", "Vila do Conde", "Vila do Porto", "Vila Flor", + "Vila Franca de Xira", "Vila Franca do Campo", "Vila Nova da Barquinha", + "Vila Nova de Cerveira", "Vila Nova de Famalicão", "Vila Nova de Foz Côa", + "Vila Nova de Gaia", "Vila Nova de Paiva", "Vila Nova de Poiares", + "Vila Pouca de Aguiar", "Vila Real", "Vila Real de Santo António", + "Vila Velha de Ródão", "Vila Verde", "Vila Viçosa", "Vimioso", + "Vinhais", "Viseu", "Vizela", "Vouzela", + ) + # From https://pt.wikipedia.org/wiki/Lista_de_freguesias_de_Portugal freguesias = [ "Abrantes", "Águeda", "Aguiar da Beira", "Alandroal", @@ -216,6 +286,12 @@ def distrito(self): """ return self.random_element(self.distritos) + def concelho(self): + """ + :example 'Tondela' + """ + return self.random_element(self.concelhos) + def freguesia(self): """ :example 'Miranda do Douro' diff --git a/tests/providers/test_address.py b/tests/providers/test_address.py index 5ade59fe3e..e1d6a00920 100644 --- a/tests/providers/test_address.py +++ b/tests/providers/test_address.py @@ -1006,6 +1006,11 @@ def test_distrito(self): assert isinstance(distrito, string_types) assert distrito in PtPtProvider.distritos + def test_concelho(self): + concelho = self.factory.concelho() + assert isinstance(concelho, string_types) + assert concelho in PtPtProvider.concelhos + def test_freguesia(self): freguesia = self.factory.freguesia() assert isinstance(freguesia, string_types)