update bots
This commit is contained in:
@@ -0,0 +1,331 @@
|
||||
from .. import BaseProvider, ElementsType
|
||||
|
||||
# Data source
|
||||
#
|
||||
# The country codes in this provider comes from the following source:
|
||||
# List of country calling codes
|
||||
# https://en.wikipedia.org/wiki/List_of_country_calling_codes
|
||||
#
|
||||
# Data was collected from the alphabetical listing by country or region
|
||||
|
||||
localized = True
|
||||
|
||||
|
||||
class Provider(BaseProvider):
|
||||
country_calling_codes: ElementsType[str] = (
|
||||
"+93",
|
||||
"+358 18",
|
||||
"+355",
|
||||
"+213",
|
||||
"+1 684",
|
||||
"+376",
|
||||
"+244",
|
||||
"+1 264",
|
||||
"+1 268",
|
||||
"+54",
|
||||
"+374",
|
||||
"+297",
|
||||
"+247",
|
||||
"+61",
|
||||
"+672 1",
|
||||
"+672",
|
||||
"+43",
|
||||
"+994",
|
||||
"+1 242",
|
||||
"+973",
|
||||
"+880",
|
||||
"+1 246",
|
||||
"+1 268",
|
||||
"+375",
|
||||
"+32",
|
||||
"+501",
|
||||
"+229",
|
||||
"+1 441",
|
||||
"+975",
|
||||
"+591",
|
||||
"+599 7",
|
||||
"+387",
|
||||
"+267",
|
||||
"+55",
|
||||
"+246",
|
||||
"+1 284",
|
||||
"+673",
|
||||
"+359",
|
||||
"+226",
|
||||
"+257",
|
||||
"+855",
|
||||
"+237",
|
||||
"+1",
|
||||
"+238",
|
||||
"+599 3",
|
||||
"+599 4",
|
||||
"+599 7",
|
||||
"+1 345",
|
||||
"+236",
|
||||
"+235",
|
||||
"+64",
|
||||
"+56",
|
||||
"+86",
|
||||
"+61 89164",
|
||||
"+61 89162",
|
||||
"+57",
|
||||
"+269",
|
||||
"+242",
|
||||
"+243",
|
||||
"+682",
|
||||
"+506",
|
||||
"+385",
|
||||
"+53",
|
||||
"+599 9",
|
||||
"+357",
|
||||
"+420",
|
||||
"+45",
|
||||
"+246",
|
||||
"+253",
|
||||
"+1 767",
|
||||
"+1 809",
|
||||
"+1 829",
|
||||
"+1 849",
|
||||
"+670",
|
||||
"+56",
|
||||
"+593",
|
||||
"+20",
|
||||
"+503",
|
||||
"+881 2",
|
||||
"+881 3",
|
||||
"+882 13",
|
||||
"+240",
|
||||
"+291",
|
||||
"+372",
|
||||
"+268",
|
||||
"+251",
|
||||
"+500",
|
||||
"+298",
|
||||
"+679",
|
||||
"+358",
|
||||
"+33",
|
||||
"+596",
|
||||
"+594",
|
||||
"+689",
|
||||
"+241",
|
||||
"+220",
|
||||
"+995",
|
||||
"+49",
|
||||
"+233",
|
||||
"+350",
|
||||
"+881",
|
||||
"+881 8",
|
||||
"+881 9",
|
||||
"+30",
|
||||
"+299",
|
||||
"+1 473",
|
||||
"+590",
|
||||
"+1 671",
|
||||
"+502",
|
||||
"+44 1481",
|
||||
"+44 7781",
|
||||
"+44 7839",
|
||||
"+44 7911",
|
||||
"+224",
|
||||
"+245",
|
||||
"+592",
|
||||
"+509",
|
||||
"+504",
|
||||
"+852",
|
||||
"+36",
|
||||
"+354",
|
||||
"+881 0",
|
||||
"+881 1",
|
||||
"+91",
|
||||
"+62",
|
||||
"+870",
|
||||
"+800",
|
||||
"+882",
|
||||
"+883",
|
||||
"+979",
|
||||
"+808",
|
||||
"+98",
|
||||
"+964",
|
||||
"+353",
|
||||
"+881 6",
|
||||
"+881 7",
|
||||
"+44 1624",
|
||||
"+44 7524",
|
||||
"+44 7624",
|
||||
"+44 7924",
|
||||
"+972",
|
||||
"+39",
|
||||
"+225",
|
||||
"+1 876",
|
||||
"+47 79",
|
||||
"+81",
|
||||
"+44 1534",
|
||||
"+962",
|
||||
"+7 6",
|
||||
"+7 7",
|
||||
"+254",
|
||||
"+686",
|
||||
"+850",
|
||||
"+82",
|
||||
"+383",
|
||||
"+965",
|
||||
"+996",
|
||||
"+856",
|
||||
"+371",
|
||||
"+961",
|
||||
"+266",
|
||||
"+231",
|
||||
"+218",
|
||||
"+423",
|
||||
"+370",
|
||||
"+352",
|
||||
"+853",
|
||||
"+261",
|
||||
"+265",
|
||||
"+60",
|
||||
"+960",
|
||||
"+223",
|
||||
"+356",
|
||||
"+692",
|
||||
"+596",
|
||||
"+222",
|
||||
"+230",
|
||||
"+262 269",
|
||||
"+262 639",
|
||||
"+52",
|
||||
"+691",
|
||||
"+1 808",
|
||||
"+373",
|
||||
"+377",
|
||||
"+976",
|
||||
"+382",
|
||||
"+1 664",
|
||||
"+212",
|
||||
"+258",
|
||||
"+95",
|
||||
"+374 47",
|
||||
"+374 97",
|
||||
"+264",
|
||||
"+674",
|
||||
"+977",
|
||||
"+31",
|
||||
"+1 869",
|
||||
"+687",
|
||||
"+64",
|
||||
"+505",
|
||||
"+227",
|
||||
"+234",
|
||||
"+683",
|
||||
"+672 3",
|
||||
"+389",
|
||||
"+90 392",
|
||||
"+44 28",
|
||||
"+1 670",
|
||||
"+47",
|
||||
"+968",
|
||||
"+92",
|
||||
"+680",
|
||||
"+970",
|
||||
"+507",
|
||||
"+675",
|
||||
"+595",
|
||||
"+51",
|
||||
"+63",
|
||||
"+64",
|
||||
"+48",
|
||||
"+351",
|
||||
"+1 787",
|
||||
"+1 939",
|
||||
"+974",
|
||||
"+262",
|
||||
"+40",
|
||||
"+7",
|
||||
"+250",
|
||||
"+599 4",
|
||||
"+590",
|
||||
"+290",
|
||||
"+1 869",
|
||||
"+1 758",
|
||||
"+590",
|
||||
"+508",
|
||||
"+1 784",
|
||||
"+685",
|
||||
"+378",
|
||||
"+239",
|
||||
"+966",
|
||||
"+221",
|
||||
"+381",
|
||||
"+248",
|
||||
"+232",
|
||||
"+65",
|
||||
"+599 3",
|
||||
"+1 721",
|
||||
"+421",
|
||||
"+386",
|
||||
"+677",
|
||||
"+252",
|
||||
"+27",
|
||||
"+500",
|
||||
"+995 34",
|
||||
"+211",
|
||||
"+34",
|
||||
"+94",
|
||||
"+249",
|
||||
"+597",
|
||||
"+47 79",
|
||||
"+46",
|
||||
"+41",
|
||||
"+963",
|
||||
"+886",
|
||||
"+992",
|
||||
"+255",
|
||||
"+888",
|
||||
"+66",
|
||||
"+882 16",
|
||||
"+228",
|
||||
"+690",
|
||||
"+676",
|
||||
"+373 2",
|
||||
"+373 5",
|
||||
"+1 868",
|
||||
"+290 8",
|
||||
"+216",
|
||||
"+90",
|
||||
"+993",
|
||||
"+1 649",
|
||||
"+688",
|
||||
"+256",
|
||||
"+380",
|
||||
"+971",
|
||||
"+44",
|
||||
"+1",
|
||||
"+878",
|
||||
"+598",
|
||||
"+1 340",
|
||||
"+998",
|
||||
"+678",
|
||||
"+39 06 698",
|
||||
"+379",
|
||||
"+58",
|
||||
"+84",
|
||||
"+1 808",
|
||||
"+681",
|
||||
"+967",
|
||||
"+260",
|
||||
"+255 24",
|
||||
"+263",
|
||||
)
|
||||
|
||||
formats: ElementsType[str] = ("###-###-###",)
|
||||
|
||||
msisdn_formats: ElementsType[str] = ("#############",)
|
||||
|
||||
def phone_number(self) -> str:
|
||||
return self.numerify(self.random_element(self.formats))
|
||||
|
||||
def country_calling_code(self) -> str:
|
||||
return self.random_element(self.country_calling_codes)
|
||||
|
||||
def msisdn(self) -> str:
|
||||
"""https://en.wikipedia.org/wiki/MSISDN"""
|
||||
return self.numerify(self.random_element(self.msisdn_formats))
|
||||
Binary file not shown.
@@ -0,0 +1,16 @@
|
||||
# Data source
|
||||
#
|
||||
# Ethiopia national numbering plan: mobile prefixes 09 (Ethio Telecom) and 07 (Safaricom Ethiopia);
|
||||
# international format country code +251 with trunk prefix 0 omitted.
|
||||
# https://en.wikipedia.org/wiki/Telephone_numbers_in_Ethiopia (retrieved 2026-03-29)
|
||||
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
"09########",
|
||||
"+2519########",
|
||||
"07########",
|
||||
"+2517########",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,94 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
# Source: https://en.wikipedia.org/wiki/Telephone_numbers_in_the_United_Arab_Emirates
|
||||
|
||||
cellphone_formats = (
|
||||
"{{area_code}} {{cellphone_provider_code}} ### ####",
|
||||
"{{area_code}}{{cellphone_provider_code}}#######",
|
||||
"0{{cellphone_provider_code}} ### ####",
|
||||
"0{{cellphone_provider_code}}#######",
|
||||
)
|
||||
|
||||
telephone_formats = (
|
||||
"{{area_code}} {{telephone_provider_code}} ### ####",
|
||||
"{{area_code}}{{telephone_provider_code}}#######",
|
||||
"0{{telephone_provider_code}} ### ####",
|
||||
"0{{telephone_provider_code}}#######",
|
||||
)
|
||||
|
||||
toll_formats = (
|
||||
"200####",
|
||||
"600######",
|
||||
"800###",
|
||||
"800####",
|
||||
"800#####",
|
||||
"800######",
|
||||
"800#######",
|
||||
)
|
||||
|
||||
services_phones_formats = (
|
||||
"999",
|
||||
"901",
|
||||
"998",
|
||||
"997",
|
||||
"996",
|
||||
"991",
|
||||
"922",
|
||||
)
|
||||
|
||||
formats = cellphone_formats + telephone_formats + services_phones_formats + toll_formats
|
||||
|
||||
def cellphone_provider_code(self) -> str:
|
||||
return self.random_element(
|
||||
[
|
||||
"50",
|
||||
"52",
|
||||
"54",
|
||||
"55",
|
||||
"56",
|
||||
"58",
|
||||
]
|
||||
)
|
||||
|
||||
def telephone_provider_code(self) -> str:
|
||||
return self.random_element(
|
||||
[
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"6",
|
||||
"7",
|
||||
"9",
|
||||
]
|
||||
)
|
||||
|
||||
def area_code(self) -> str:
|
||||
return self.random_element(
|
||||
[
|
||||
"00971",
|
||||
"+971",
|
||||
]
|
||||
)
|
||||
|
||||
def cellphone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.cellphone_formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
|
||||
def telephone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.telephone_formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
|
||||
def service_phone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.services_phones_formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
|
||||
def toll_number(self) -> str:
|
||||
pattern: str = self.random_element(self.toll_formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
|
||||
def phone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
Binary file not shown.
@@ -0,0 +1,60 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
# Source: https://en.wikipedia.org/wiki/Telephone_numbers_in_Algeria
|
||||
|
||||
cellphone_formats = (
|
||||
"0{{mobile_operator}}## ## ## ##",
|
||||
"+213 {{mobile_operator}}## ## ## ##",
|
||||
)
|
||||
|
||||
telephone_formats = (
|
||||
"0{{area_code}} ## ## ##",
|
||||
"+213 {{area_code}} ## ## ##",
|
||||
)
|
||||
|
||||
formats = cellphone_formats + telephone_formats
|
||||
|
||||
def mobile_operator(self) -> str:
|
||||
return self.random_element(["5", "6", "7"])
|
||||
|
||||
def area_code(self) -> str:
|
||||
return self.random_element(
|
||||
[
|
||||
"21",
|
||||
"23",
|
||||
"24",
|
||||
"25",
|
||||
"26",
|
||||
"27",
|
||||
"29",
|
||||
"31",
|
||||
"32",
|
||||
"33",
|
||||
"34",
|
||||
"35",
|
||||
"36",
|
||||
"37",
|
||||
"38",
|
||||
"39",
|
||||
"41",
|
||||
"43",
|
||||
"45",
|
||||
"46",
|
||||
"48",
|
||||
"49",
|
||||
]
|
||||
)
|
||||
|
||||
def cellphone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.cellphone_formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
|
||||
def telephone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.telephone_formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
|
||||
def phone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
Binary file not shown.
@@ -0,0 +1,65 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
# Source: https://en.wikipedia.org/wiki/Telephone_numbers_in_Jordan
|
||||
|
||||
cellphone_formats = (
|
||||
"+9627{{operator_id}}#######",
|
||||
"+962 7 {{operator_id}}### ####",
|
||||
"07{{operator_id}}#######",
|
||||
"07{{operator_id}} ### ####",
|
||||
)
|
||||
|
||||
telephone_formats = (
|
||||
"+962{{area_code}}#######",
|
||||
"+962 {{area_code}} ### ####",
|
||||
"0{{area_code}}#######",
|
||||
"0{{area_code}} ### ####",
|
||||
)
|
||||
|
||||
services_phones_formats = (
|
||||
"9##",
|
||||
"12##",
|
||||
"13##",
|
||||
"14##",
|
||||
)
|
||||
|
||||
formats = cellphone_formats + telephone_formats + services_phones_formats
|
||||
|
||||
def operator_id(self) -> str:
|
||||
return self.random_element(
|
||||
[
|
||||
"4",
|
||||
"7",
|
||||
"8",
|
||||
"9",
|
||||
]
|
||||
)
|
||||
|
||||
def area_code(self) -> str:
|
||||
return self.random_element(
|
||||
[
|
||||
"2",
|
||||
"3",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
]
|
||||
)
|
||||
|
||||
def cellphone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.cellphone_formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
|
||||
def telephone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.telephone_formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
|
||||
def service_phone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.services_phones_formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
|
||||
def phone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
Binary file not shown.
@@ -0,0 +1,129 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
# Source:
|
||||
# https://en.wikipedia.org/wiki/Telephone_numbers_in_the_State_of_Palestine
|
||||
|
||||
cellphone_formats = (
|
||||
"{{area_code}} {{provider_code}} ### ####",
|
||||
"{{area_code}}{{provider_code}}#######",
|
||||
"0{{provider_code}} ### ####",
|
||||
"0{{provider_code}}#######",
|
||||
)
|
||||
|
||||
telephone_formats = (
|
||||
"{{area_code}} 4 24# ####",
|
||||
"{{area_code}}424#####",
|
||||
"04 24# ####",
|
||||
"0424#####",
|
||||
"{{area_code}} 9 25# ####",
|
||||
"{{area_code}}925#####",
|
||||
"09 25# ####",
|
||||
"0925#####",
|
||||
"{{area_code}} 4 26# ####",
|
||||
"{{area_code}}426#####",
|
||||
"04 26# ####",
|
||||
"0426#####",
|
||||
"{{area_code}} 4 23# ####",
|
||||
"{{area_code}}423#####",
|
||||
"04 23# ####",
|
||||
"0423#####",
|
||||
"{{area_code}} 4 29# ####",
|
||||
"{{area_code}}429#####",
|
||||
"04 29# ####",
|
||||
"0429#####",
|
||||
"{{area_code}} 2 29# ####",
|
||||
"{{area_code}}229#####",
|
||||
"02 29# ####",
|
||||
"0229#####",
|
||||
"{{area_code}} 2 23# ####",
|
||||
"{{area_code}}223#####",
|
||||
"02 23# ####",
|
||||
"0223#####",
|
||||
"{{area_code}} 2 22# ####",
|
||||
"{{area_code}}222#####",
|
||||
"02 22# ####",
|
||||
"0222#####",
|
||||
"{{area_code}} 2 27# ####",
|
||||
"{{area_code}}227#####",
|
||||
"02 27# ####",
|
||||
"0227#####",
|
||||
"{{area_code}} 8 20# ####",
|
||||
"{{area_code}}820#####",
|
||||
"08 20# ####",
|
||||
"0820#####",
|
||||
"{{area_code}} 8 21# ####",
|
||||
"{{area_code}}821#####",
|
||||
"08 21# ####",
|
||||
"0821#####",
|
||||
"{{area_code}} 8 24# ####",
|
||||
"{{area_code}}824#####",
|
||||
"08 24# ####",
|
||||
"0824#####",
|
||||
"{{area_code}} 8 25# ####",
|
||||
"{{area_code}}825#####",
|
||||
"08 25# ####",
|
||||
"0825#####",
|
||||
"{{area_code}} 8 26# ####",
|
||||
"{{area_code}}826#####",
|
||||
"08 26# ####",
|
||||
"0826#####",
|
||||
"{{area_code}} 8 28# ####",
|
||||
"{{area_code}}828#####",
|
||||
"08 28# ####",
|
||||
"0828#####",
|
||||
)
|
||||
|
||||
toll_formats = (
|
||||
"1 700 ### ###",
|
||||
"1-700-###-###",
|
||||
"1 800 ### ###",
|
||||
"1-800-###-###",
|
||||
)
|
||||
|
||||
services_phones_formats = (
|
||||
"100",
|
||||
"101",
|
||||
"102",
|
||||
)
|
||||
|
||||
formats = cellphone_formats + telephone_formats + services_phones_formats + toll_formats
|
||||
|
||||
def provider_code(self) -> str:
|
||||
return self.random_element(
|
||||
[
|
||||
"59",
|
||||
"56",
|
||||
]
|
||||
)
|
||||
|
||||
def area_code(self) -> str:
|
||||
return self.random_element(
|
||||
[
|
||||
"00972",
|
||||
"+972",
|
||||
"00970",
|
||||
"+970",
|
||||
]
|
||||
)
|
||||
|
||||
def cellphone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.cellphone_formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
|
||||
def telephone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.telephone_formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
|
||||
def service_phone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.services_phones_formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
|
||||
def toll_number(self) -> str:
|
||||
pattern: str = self.random_element(self.toll_formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
|
||||
def phone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
Binary file not shown.
@@ -0,0 +1,57 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
cellphone_formats = (
|
||||
"+994{{provider_code}}{{start_digit}}######",
|
||||
"0{{provider_code}} {{start_digit}}## ## ##",
|
||||
"0{{provider_code}}-{{start_digit}}##-##-##",
|
||||
)
|
||||
|
||||
telephone_formats = ("{{area_code}}## ## ##",)
|
||||
|
||||
provider_codes = ["50", "51", "55", "60", "70", "77", "99"]
|
||||
|
||||
start_digits = ["2", "3", "4", "5", "6", "7", "8", "9"]
|
||||
|
||||
area_codes = [
|
||||
"012 3",
|
||||
"012 4",
|
||||
"012 5",
|
||||
"018 6",
|
||||
"020 2",
|
||||
"021 2",
|
||||
"021 4",
|
||||
"022 2",
|
||||
"022 3",
|
||||
"022 4",
|
||||
"023 3",
|
||||
"024 2",
|
||||
"025 2",
|
||||
"026 2",
|
||||
"026 3",
|
||||
"036 5",
|
||||
]
|
||||
|
||||
formats = cellphone_formats + telephone_formats
|
||||
|
||||
def start_digit(self) -> str:
|
||||
return self.random_element(self.start_digits)
|
||||
|
||||
def provider_code(self) -> str:
|
||||
return self.random_element(self.provider_codes)
|
||||
|
||||
def area_code(self) -> str:
|
||||
return self.random_element(self.area_codes)
|
||||
|
||||
def cellphone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.cellphone_formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
|
||||
def landline_number(self) -> str:
|
||||
pattern: str = self.random_element(self.telephone_formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
|
||||
def phone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
Binary file not shown.
@@ -0,0 +1,17 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
"+359(0)#########",
|
||||
"+359(0)### ######",
|
||||
"+359(0)### ### ###",
|
||||
"+359#########",
|
||||
"0#########",
|
||||
"0### ######",
|
||||
"0### ### ###",
|
||||
"0### ###-###",
|
||||
"(0###) ######",
|
||||
"(0###) ### ###",
|
||||
"(0###) ###-###",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,334 @@
|
||||
from faker.providers.person.bn_BD import translate_to_bengali_digits
|
||||
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
"""
|
||||
Implement phone number provider for ``bn_BD`` locale.
|
||||
Sources:
|
||||
- https://en.wikipedia.org/wiki/Telephone_numbers_in_Bangladesh
|
||||
"""
|
||||
|
||||
country_calling_codes = (
|
||||
"+৯৩",
|
||||
"+৩৫৮ ১৮",
|
||||
"+৩৫",
|
||||
"+২১৩",
|
||||
"+১ ৬৮৪",
|
||||
"+৩৭৬",
|
||||
"+২৪",
|
||||
"+১ ২৬৪",
|
||||
"+১ ২৬৮",
|
||||
"+৫৪",
|
||||
"+৩৭৪",
|
||||
"+২৯৭",
|
||||
"+২৪৭",
|
||||
"+৬১",
|
||||
"+৬৭২ ১",
|
||||
"+৬৭২",
|
||||
"+৪৩",
|
||||
"+৯৪",
|
||||
"+১ ২৪২",
|
||||
"+৯৭৩",
|
||||
"+৮০",
|
||||
"+১ ২৪৬",
|
||||
"+১ ২৬৮",
|
||||
"+৩৭৫",
|
||||
"+৩২",
|
||||
"+৫০১",
|
||||
"+২৯",
|
||||
"+১ ৪১",
|
||||
"+৯৭৫",
|
||||
"+৫৯১",
|
||||
"+৫৯ ৭",
|
||||
"+৩৮৭",
|
||||
"+২৬৭",
|
||||
"+৫",
|
||||
"+২৪৬",
|
||||
"+১ ২৮৪",
|
||||
"+৬৭৩",
|
||||
"+৩৫৯",
|
||||
"+২৬",
|
||||
"+২৫৭",
|
||||
"+৮৫",
|
||||
"+২৩৭",
|
||||
"+১",
|
||||
"+২৩৮",
|
||||
"+৫৯ ৩",
|
||||
"+৫৯ ৪",
|
||||
"+৫৯ ৭",
|
||||
"+১ ৩৪৫",
|
||||
"+২৩৬",
|
||||
"+২৩৫",
|
||||
"+৬৪",
|
||||
"+৫৬",
|
||||
"+৮৬",
|
||||
"+৬১ ৮৯১৬৪",
|
||||
"+৬১ ৮৯১৬২",
|
||||
"+৫৭",
|
||||
"+২৬৯",
|
||||
"+২৪২",
|
||||
"+২৪৩",
|
||||
"+৬৮২",
|
||||
"+৫০৬",
|
||||
"+৩৮৫",
|
||||
"+৫৩",
|
||||
"+৫৯ ৯",
|
||||
"+৩৫৭",
|
||||
"+৪২০",
|
||||
"+৪৫",
|
||||
"+২৪৬",
|
||||
"+২৫৩",
|
||||
"+১ ৭৬৭",
|
||||
"+১ ৮০৯",
|
||||
"+১ ৮২৯",
|
||||
"+১ ৮৪৯",
|
||||
"+৬৭০",
|
||||
"+৫৬",
|
||||
"+৫৯৩",
|
||||
"+২০",
|
||||
"+৫০৩",
|
||||
"+৮১ ২",
|
||||
"+৮১ ৩",
|
||||
"+৮২ ১৩",
|
||||
"+২৪০",
|
||||
"+২৯১",
|
||||
"+৩৭২",
|
||||
"+২৬৮",
|
||||
"+২৫১",
|
||||
"+৫০",
|
||||
"+২৯৮",
|
||||
"+৬৭৯",
|
||||
"+৩৫৮",
|
||||
"+৩",
|
||||
"+৫৯৬",
|
||||
"+৫৯৪",
|
||||
"+৬৮৯",
|
||||
"+২৪১",
|
||||
"+২০",
|
||||
"+৯৫",
|
||||
"+৪৯",
|
||||
"+২৩",
|
||||
"+৩৫০",
|
||||
"+৮১",
|
||||
"+৮১ ৮",
|
||||
"+৮১ ৯",
|
||||
"+৩০",
|
||||
"+২৯",
|
||||
"+১ ৪৭৩",
|
||||
"+৫৯০",
|
||||
"+১ ৬৭১",
|
||||
"+৫০২",
|
||||
"+৪ ১৪৮১",
|
||||
"+৪ ৭৮১",
|
||||
"+৪ ৭৮৩৯",
|
||||
"+৪ ৭৯১",
|
||||
"+২৪",
|
||||
"+২৪৫",
|
||||
"+৫৯২",
|
||||
"+৫০৯",
|
||||
"+৫০৪",
|
||||
"+৮৫২",
|
||||
"+৩৬",
|
||||
"+৩৫৪",
|
||||
"+৮১ ০",
|
||||
"+৮১ ১",
|
||||
"+৯১",
|
||||
"+৬২",
|
||||
"+৮৭০",
|
||||
"+৮০",
|
||||
"+৮২",
|
||||
"+৮৩",
|
||||
"+৯৭৯",
|
||||
"+৮০৮",
|
||||
"+৯৮",
|
||||
"+৯৬৪",
|
||||
"+৩৫৩",
|
||||
"+৮১ ৬",
|
||||
"+৮১ ৭",
|
||||
"+৪ ১৬২৪",
|
||||
"+৪ ৭৫২৪",
|
||||
"+৪ ৭৬২৪",
|
||||
"+৪ ৭৯২৪",
|
||||
"+৯৭২",
|
||||
"+৩৯",
|
||||
"+২৫",
|
||||
"+১ ৮৭৬",
|
||||
"+৪৭ ৭৯",
|
||||
"+৮১",
|
||||
"+৪ ১৫৩৪",
|
||||
"+৯৬২",
|
||||
"+৭ ৬",
|
||||
"+৭ ৭",
|
||||
"+২৫৪",
|
||||
"+৬৮৬",
|
||||
"+৮৫০",
|
||||
"+৮২",
|
||||
"+৩৮৩",
|
||||
"+৯৬৫",
|
||||
"+৯৬",
|
||||
"+৮৫৬",
|
||||
"+৩৭১",
|
||||
"+৯৬১",
|
||||
"+২৬",
|
||||
"+২৩১",
|
||||
"+২১৮",
|
||||
"+৪২৩",
|
||||
"+৩৭০",
|
||||
"+৩৫২",
|
||||
"+৮৫৩",
|
||||
"+২৬১",
|
||||
"+২৬৫",
|
||||
"+৬০",
|
||||
"+৯৬০",
|
||||
"+২৩",
|
||||
"+৩৫৬",
|
||||
"+৬৯২",
|
||||
"+৫৯৬",
|
||||
"+২",
|
||||
"+২৩০",
|
||||
"+২৬২ ২৬৯",
|
||||
"+২৬২ ৬৩৯",
|
||||
"+৫২",
|
||||
"+৬৯১",
|
||||
"+১ ৮০৮",
|
||||
"+৩৭৩",
|
||||
"+৩৭",
|
||||
"+৯৭৬",
|
||||
"+৩৮২",
|
||||
"+১ ৬৪",
|
||||
"+২১২",
|
||||
"+২৫৮",
|
||||
"+৯৫",
|
||||
"+৩৭৪ ৪৭",
|
||||
"+৩৭৪ ৯৭",
|
||||
"+২৬৪",
|
||||
"+৬৭৪",
|
||||
"+৯৭",
|
||||
"+৩১",
|
||||
"+১ ৮৬৯",
|
||||
"+৬৮৭",
|
||||
"+৬৪",
|
||||
"+৫০৫",
|
||||
"+২৭",
|
||||
"+২৩৪",
|
||||
"+৬৮৩",
|
||||
"+৬৭২ ৩",
|
||||
"+৩৮৯",
|
||||
"+৯০ ৩৯২",
|
||||
"+৪ ২৮",
|
||||
"+১ ৬৭০",
|
||||
"+৪৭",
|
||||
"+৯৬৮",
|
||||
"+৯২",
|
||||
"+৬৮০",
|
||||
"+৯৭০",
|
||||
"+৫০৭",
|
||||
"+৬৭৫",
|
||||
"+৫৯৫",
|
||||
"+৫১",
|
||||
"+৬৩",
|
||||
"+৬৪",
|
||||
"+৪৮",
|
||||
"+৩৫১",
|
||||
"+১ ৭৮৭",
|
||||
"+১ ৯৩৯",
|
||||
"+৯৭৪",
|
||||
"+২৬২",
|
||||
"+৪০",
|
||||
"+৭",
|
||||
"+২৫০",
|
||||
"+৫৯ ৪",
|
||||
"+৫৯০",
|
||||
"+২৯০",
|
||||
"+১ ৮৬৯",
|
||||
"+১ ৭৫৮",
|
||||
"+৫৯০",
|
||||
"+৫০৮",
|
||||
"+১ ৭৮৪",
|
||||
"+৬৮৫",
|
||||
"+৩৭৮",
|
||||
"+২৩৯",
|
||||
"+৯৬",
|
||||
"+২১",
|
||||
"+৩৮১",
|
||||
"+২৪৮",
|
||||
"+২৩২",
|
||||
"+৬৫",
|
||||
"+৫৯ ৩",
|
||||
"+১ ৭২১",
|
||||
"+৪২১",
|
||||
"+৩৮৬",
|
||||
"+৬৭",
|
||||
"+২৫২",
|
||||
"+২৭",
|
||||
"+৫০",
|
||||
"+৯৫ ৩৪",
|
||||
"+২১",
|
||||
"+৩৪",
|
||||
"+৯৪",
|
||||
"+২৪৯",
|
||||
"+৫৯৭",
|
||||
"+৪৭ ৭৯",
|
||||
"+৪৬",
|
||||
"+৪১",
|
||||
"+৯৬৩",
|
||||
"+৮৬",
|
||||
"+৯২",
|
||||
"+২৫",
|
||||
"+৮",
|
||||
"+৬",
|
||||
"+৮২ ১৬",
|
||||
"+২৮",
|
||||
"+৬৯০",
|
||||
"+৬৭৬",
|
||||
"+৩৭৩ ২",
|
||||
"+৩৭৩ ৫",
|
||||
"+১ ৮৬৮",
|
||||
"+২৯০ ৮",
|
||||
"+২১৬",
|
||||
"+৯০",
|
||||
"+৯৩",
|
||||
"+১ ৬৪৯",
|
||||
"+৬৮",
|
||||
"+২৫৬",
|
||||
"+৩৮০",
|
||||
"+৯৭১",
|
||||
"+৪",
|
||||
"+১",
|
||||
"+৮৭৮",
|
||||
"+৫৯৮",
|
||||
"+১ ৩৪০",
|
||||
"+৯৮",
|
||||
"+৬৭৮",
|
||||
"+৩৯ ০৬ ৬৯৮",
|
||||
"+৩৭৯",
|
||||
"+৫৮",
|
||||
"+৮৪",
|
||||
"+১ ৮০৮",
|
||||
"+৬৮১",
|
||||
"+৯৬৭",
|
||||
"+২৬০",
|
||||
"+২৫ ২৪",
|
||||
"+২৬৩",
|
||||
)
|
||||
|
||||
formats = (
|
||||
"01 ### ######",
|
||||
"01###-######",
|
||||
"01#########",
|
||||
"+880 1### ######",
|
||||
"+880-1###-######",
|
||||
"+8801#########",
|
||||
"+880-2-#-####-####",
|
||||
"+880-###-###-###",
|
||||
)
|
||||
|
||||
def phone_number(self) -> str:
|
||||
res = super(self.__class__, self).phone_number()
|
||||
return translate_to_bengali_digits(res)
|
||||
|
||||
def msisdn(self) -> str:
|
||||
res = super(self.__class__, self).msisdn()
|
||||
return translate_to_bengali_digits(res)
|
||||
Binary file not shown.
@@ -0,0 +1,39 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
"030 ### ###",
|
||||
"031 ### ###",
|
||||
"032 ### ###",
|
||||
"033 ### ###",
|
||||
"034 ### ###",
|
||||
"035 ### ###",
|
||||
"036 ### ###",
|
||||
"037 ### ###",
|
||||
"038 ### ###",
|
||||
"039 ### ###",
|
||||
"049 ### ###",
|
||||
"050 ### ###",
|
||||
"051 ### ###",
|
||||
"052 ### ###",
|
||||
"053 ### ###",
|
||||
"054 ### ###",
|
||||
"055 ### ###",
|
||||
"056 ### ###",
|
||||
"057 ### ###",
|
||||
"058 ### ###",
|
||||
"059 ### ###",
|
||||
"060 ### ###",
|
||||
"060 #### ###",
|
||||
"061 ### ###",
|
||||
"062 ### ###",
|
||||
"063 ### ###",
|
||||
"064 ### ###",
|
||||
"065 ### ###",
|
||||
"066 ### ###",
|
||||
"067 ### ###",
|
||||
"070 20# ###",
|
||||
"+387 61 ### ###",
|
||||
"+387 (0)61 ### ###",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,54 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
# Phone numbers
|
||||
# https://cs.wikipedia.org/wiki/Telefonn%C3%AD_%C4%8D%C3%ADslo
|
||||
# https://www.srovnejto.cz/blog/jake-jsou-telefonni-predvolby-do-zahranici/
|
||||
|
||||
formats = (
|
||||
# prefix 00420
|
||||
# 601-608
|
||||
"00420 601 ### ###",
|
||||
"00420 602 ### ###",
|
||||
"00420 603 ### ###",
|
||||
"00420 604 ### ###",
|
||||
"00420 605 ### ###",
|
||||
"00420 606 ### ###",
|
||||
"00420 607 ### ###",
|
||||
"00420 608 ### ###",
|
||||
# 702-705
|
||||
"00420 702 ### ###",
|
||||
"00420 703 ### ###",
|
||||
"00420 704 ### ###",
|
||||
"00420 705 ### ###",
|
||||
# 720-739
|
||||
"00420 72# ### ###",
|
||||
"00420 73# ### ###",
|
||||
# 770-779
|
||||
"00420 77# ### ###",
|
||||
# 790-799
|
||||
"00420 79# ### ###",
|
||||
# prefix +420
|
||||
# 601-608
|
||||
"+420 601 ### ###",
|
||||
"+420 602 ### ###",
|
||||
"+420 603 ### ###",
|
||||
"+420 604 ### ###",
|
||||
"+420 605 ### ###",
|
||||
"+420 606 ### ###",
|
||||
"+420 607 ### ###",
|
||||
"+420 608 ### ###",
|
||||
# 702-705
|
||||
"+420 702 ### ###",
|
||||
"+420 703 ### ###",
|
||||
"+420 704 ### ###",
|
||||
"+420 705 ### ###",
|
||||
# 720-739
|
||||
"+420 72# ### ###",
|
||||
"+420 73# ### ###",
|
||||
# 770-779
|
||||
"+420 77# ### ###",
|
||||
# 790-799
|
||||
"+420 79# ### ###",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,12 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
"+45 ########",
|
||||
"+45 #### ####",
|
||||
"+45 ## ## ## ##",
|
||||
"########",
|
||||
"#### ####",
|
||||
"## ## ## ##",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,120 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
"""Phone number provider for `de_AT` locale.
|
||||
|
||||
Sources:
|
||||
- https://de.wikipedia.org/wiki/Telefonvorwahl_(%C3%96sterreich)
|
||||
|
||||
"""
|
||||
|
||||
dialing_codes = (
|
||||
"650",
|
||||
"655",
|
||||
"660",
|
||||
"661",
|
||||
"663",
|
||||
"664",
|
||||
"665",
|
||||
"667",
|
||||
"670",
|
||||
"676",
|
||||
"677",
|
||||
"678",
|
||||
"680",
|
||||
"681",
|
||||
"688",
|
||||
"690",
|
||||
"699",
|
||||
)
|
||||
|
||||
area_code_formats = (
|
||||
"1", # Wien
|
||||
"316", # Graz
|
||||
"463", # Klagenfurt
|
||||
"512", # Innsbruck
|
||||
"662", # Salzburg
|
||||
"732", # Linz
|
||||
"21##",
|
||||
"22##",
|
||||
"25##",
|
||||
"26##",
|
||||
"27##",
|
||||
"28##",
|
||||
"29##",
|
||||
"31##",
|
||||
"33##",
|
||||
"34##",
|
||||
"35##",
|
||||
"36##",
|
||||
"38##",
|
||||
"42##",
|
||||
"43##",
|
||||
"47##",
|
||||
"48##",
|
||||
"52##",
|
||||
"53##",
|
||||
"54##",
|
||||
"55##",
|
||||
"56##",
|
||||
"61##",
|
||||
"62##",
|
||||
"64##",
|
||||
"65##",
|
||||
"72##",
|
||||
"73##",
|
||||
"74##",
|
||||
"75##",
|
||||
"76##",
|
||||
"77##",
|
||||
"79##",
|
||||
)
|
||||
|
||||
cellphone_formats = (
|
||||
"+43 (0) {{dialing_code}} ########",
|
||||
"+43 {{dialing_code}} ### ### ##",
|
||||
"+43 {{dialing_code}}########",
|
||||
"0{{dialing_code}} ### ### ##",
|
||||
"0{{dialing_code}}/########",
|
||||
)
|
||||
|
||||
landline_formats = (
|
||||
"+43 (0) {{area_code}} ########",
|
||||
"+43 {{area_code}} ##### ###",
|
||||
"+43 {{area_code}}########",
|
||||
"0{{area_code}} ##### ###",
|
||||
"(0{{area_code}}) ##### ###",
|
||||
"0{{area_code}}/########",
|
||||
)
|
||||
|
||||
"""
|
||||
Get dialing code for cellphone numbers.
|
||||
"""
|
||||
|
||||
def dialing_code(self) -> str:
|
||||
return self.random_element(self.dialing_codes)
|
||||
|
||||
"""
|
||||
Get area code for landlines.
|
||||
"""
|
||||
|
||||
def area_code(self) -> str:
|
||||
area_code: str = self.random_element(self.area_code_formats)
|
||||
return self.numerify(area_code)
|
||||
|
||||
"""
|
||||
Get a landline phone number.
|
||||
"""
|
||||
|
||||
def phone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.landline_formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
|
||||
"""
|
||||
Get a cellphone number.
|
||||
"""
|
||||
|
||||
def cellphone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.cellphone_formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
Binary file not shown.
@@ -0,0 +1,81 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
"""Phone number provider for `de_CH` locale.
|
||||
|
||||
Sources:
|
||||
- https://de.wikipedia.org/wiki/Telefonnummer_(Schweiz)
|
||||
|
||||
"""
|
||||
|
||||
dialing_codes = (
|
||||
"75",
|
||||
"76",
|
||||
"77",
|
||||
"78",
|
||||
"79",
|
||||
)
|
||||
|
||||
landline_codes = (
|
||||
"21",
|
||||
"22",
|
||||
"24",
|
||||
"26",
|
||||
"27",
|
||||
"31",
|
||||
"32",
|
||||
"33",
|
||||
"34",
|
||||
"43",
|
||||
"41",
|
||||
"44",
|
||||
"52",
|
||||
"55",
|
||||
"56",
|
||||
"61",
|
||||
"62",
|
||||
"71",
|
||||
"81",
|
||||
"91",
|
||||
)
|
||||
|
||||
cellphone_formats = (
|
||||
"+41 {{dialing_code}} ### ## ##",
|
||||
"0{{dialing_code}} ### ## ##",
|
||||
)
|
||||
|
||||
landline_formats = (
|
||||
"+41 {{landline_code}} ### ## ##",
|
||||
"0{{landline_code}} ### ## ##",
|
||||
)
|
||||
|
||||
"""
|
||||
Get dialing code for cellphone numbers.
|
||||
"""
|
||||
|
||||
def dialing_code(self) -> str:
|
||||
return self.random_element(self.dialing_codes)
|
||||
|
||||
"""
|
||||
Get dialing code for landlines.
|
||||
"""
|
||||
|
||||
def landline_code(self) -> str:
|
||||
return self.random_element(self.landline_codes)
|
||||
|
||||
"""
|
||||
Get a landline phone number.
|
||||
"""
|
||||
|
||||
def phone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.landline_formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
|
||||
"""
|
||||
Get a cellphone number.
|
||||
"""
|
||||
|
||||
def cellphone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.cellphone_formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
Binary file not shown.
@@ -0,0 +1,18 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
# https://de.wikipedia.org/wiki/Rufnummer#Schreibweisen
|
||||
formats = (
|
||||
"+49(0)##########",
|
||||
"+49(0)#### ######",
|
||||
"+49 (0) #### ######",
|
||||
"+49(0) #########",
|
||||
"+49(0)#### #####",
|
||||
"0##########",
|
||||
"0#########",
|
||||
"0#### ######",
|
||||
"0#### #####",
|
||||
"(0####) ######",
|
||||
"(0####) #####",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,6 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
# https://en.wikipedia.org/wiki/Telephone_numbers_in_Liechtenstein
|
||||
formats = ("%## ## ##", "+423 %## ## ##")
|
||||
Binary file not shown.
@@ -0,0 +1,37 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
# https://de.wikipedia.org/wiki/Telefonvorwahl_(Luxemburg)
|
||||
formats = (
|
||||
"22 ## ##",
|
||||
"23 ## ##",
|
||||
"24 $# ## ##",
|
||||
"25 ## ##",
|
||||
"26 $# ## ##",
|
||||
"27 $# ## ##",
|
||||
"28 ## ##",
|
||||
"29 ## ##",
|
||||
"3# ## ##",
|
||||
"4 ### ##",
|
||||
"71 ## ##",
|
||||
"72 ## ##",
|
||||
"74 ## ##",
|
||||
"75 ## ##",
|
||||
"76 ## ##",
|
||||
"78 ## ##",
|
||||
"80 ## ##",
|
||||
"81 ## ##",
|
||||
"83 ## ##",
|
||||
"87 ## ##",
|
||||
"88 ## ##",
|
||||
"89 ## ##",
|
||||
"92 ## ##",
|
||||
"95 ## ##",
|
||||
"99 ## ##",
|
||||
)
|
||||
|
||||
prefixes = ("+352 ", "")
|
||||
|
||||
def phone_number(self) -> str:
|
||||
return self.random_element(self.prefixes) + self.numerify(self.random_element(self.formats))
|
||||
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
"69########",
|
||||
"69## ######",
|
||||
"69## ### ###",
|
||||
"210#######",
|
||||
"210 #######",
|
||||
"210 ### ####",
|
||||
"2##0######",
|
||||
"2##0 ######",
|
||||
"2##0 ### ###",
|
||||
"2###0#####",
|
||||
"2###0 ## ###",
|
||||
"(+30) 69## ######",
|
||||
"+30 69## ######",
|
||||
"+3069########",
|
||||
"(+30) 2### ######",
|
||||
"+30 2### ######",
|
||||
"+302#########",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,41 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
# Local calls
|
||||
"#### ####",
|
||||
"####-####",
|
||||
"####.####", # domain registrars apparently use this
|
||||
"########",
|
||||
# National dialing
|
||||
"0{{area_code}} #### ####",
|
||||
"0{{area_code}}-####-####",
|
||||
"0{{area_code}}.####.####",
|
||||
"0{{area_code}}########",
|
||||
# Optional parenthesis
|
||||
"(0{{area_code}}) #### ####",
|
||||
"(0{{area_code}})-####-####",
|
||||
"(0{{area_code}}).####.####",
|
||||
"(0{{area_code}})########",
|
||||
# International drops the 0
|
||||
"+61 {{area_code}} #### ####",
|
||||
"+61-{{area_code}}-####-####",
|
||||
"+61.{{area_code}}.####.####",
|
||||
"+61{{area_code}}########",
|
||||
# 04 Mobile telephones (Australia-wide) mostly commonly written 4 - 3 -
|
||||
# 3 instead of 2 - 4 - 4
|
||||
"04## ### ###",
|
||||
"04##-###-###",
|
||||
"04##.###.###",
|
||||
"+61 4## ### ###",
|
||||
"+61-4##-###-###",
|
||||
"+61.4##.###.###",
|
||||
)
|
||||
|
||||
def area_code(self) -> str:
|
||||
return self.numerify(self.random_element(["2", "3", "7", "8"]))
|
||||
|
||||
def phone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
Binary file not shown.
@@ -0,0 +1,15 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
"%##-###-####",
|
||||
"%##.###.####",
|
||||
"%## ### ####",
|
||||
"(%##) ###-####",
|
||||
"1-%##-###-####",
|
||||
"1 (%##) ###-####",
|
||||
"+1 (%##) ###-####",
|
||||
"%##-###-#### x###",
|
||||
"(%##) ###-#### x###",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,267 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
# Source:
|
||||
# https://en.wikipedia.org/wiki/Telephone_numbers_in_the_United_Kingdom
|
||||
# Fake phone numbers should be fake - this provider has been rewritten to
|
||||
# use numbers reserved for dramatic use by Ofcom. See the following:
|
||||
# https://en.wikipedia.org/wiki/Fictitious_telephone_number#United_Kingdom
|
||||
# This ensures no genuine numbers are generated at random.
|
||||
#
|
||||
# It's worth noting that the following examples include incorrect notation
|
||||
# of British phone numbers. +44(0)xxx is incorrect and the '(0)' should
|
||||
# be omitted. However, it's commonly written this way by Joe Public
|
||||
# and would better serve this project to be included, as it represents
|
||||
# more realistic data and is of benefit to those developing data cleansing
|
||||
# tools etc. All possible official fake numbers are covered below.
|
||||
|
||||
cellphone_formats = (
|
||||
"07700 900 ###",
|
||||
"07700 900###",
|
||||
"07700900###",
|
||||
"(07700) 900 ###",
|
||||
"(07700) 900###",
|
||||
"(07700)900###",
|
||||
"+447700 900 ###",
|
||||
"+447700 900###",
|
||||
"+447700900###",
|
||||
"+44(0)7700 900 ###",
|
||||
"+44(0)7700 900###",
|
||||
"+44(0)7700900###",
|
||||
)
|
||||
|
||||
formats = (
|
||||
"0113 496 0###",
|
||||
"0113 4960###",
|
||||
"01134960###",
|
||||
"(0113) 496 0###",
|
||||
"(0113) 4960###",
|
||||
"(0113)4960###",
|
||||
"+44113 496 0###",
|
||||
"+44113 4960###",
|
||||
"+441134960###",
|
||||
"+44(0)113 496 0###",
|
||||
"+44(0)113 4960###",
|
||||
"+44(0)1134960###",
|
||||
"0114 496 0###",
|
||||
"0114 4960###",
|
||||
"01144960###",
|
||||
"(0114) 496 0###",
|
||||
"(0114) 4960###",
|
||||
"(0114)4960###",
|
||||
"+44114 496 0###",
|
||||
"+44114 4960###",
|
||||
"+441144960###",
|
||||
"+44(0)114 496 0###",
|
||||
"+44(0)114 4960###",
|
||||
"+44(0)1144960###",
|
||||
"0115 496 0###",
|
||||
"0115 4960###",
|
||||
"01154960###",
|
||||
"(0115) 496 0###",
|
||||
"(0115) 4960###",
|
||||
"(0115)4960###",
|
||||
"+44115 496 0###",
|
||||
"+44115 4960###",
|
||||
"+441154960###",
|
||||
"+44(0)115 496 0###",
|
||||
"+44(0)115 4960###",
|
||||
"+44(0)1154960###",
|
||||
"0116 496 0###",
|
||||
"0116 4960###",
|
||||
"01164960###",
|
||||
"(0116) 496 0###",
|
||||
"(0116) 4960###",
|
||||
"(0116)4960###",
|
||||
"+44116 496 0###",
|
||||
"+44116 4960###",
|
||||
"+441164960###",
|
||||
"+44(0)116 496 0###",
|
||||
"+44(0)116 4960###",
|
||||
"+44(0)1164960###",
|
||||
"0117 496 0###",
|
||||
"0117 4960###",
|
||||
"01174960###",
|
||||
"(0117) 496 0###",
|
||||
"(0117) 4960###",
|
||||
"(0117)4960###",
|
||||
"+44117 496 0###",
|
||||
"+44117 4960###",
|
||||
"+441174960###",
|
||||
"+44(0)117 496 0###",
|
||||
"+44(0)117 4960###",
|
||||
"+44(0)1174960###",
|
||||
"0118 496 0###",
|
||||
"0118 4960###",
|
||||
"01184960###",
|
||||
"(0118) 496 0###",
|
||||
"(0118) 4960###",
|
||||
"(0118)4960###",
|
||||
"+44118 496 0###",
|
||||
"+44118 4960###",
|
||||
"+441184960###",
|
||||
"+44(0)118 496 0###",
|
||||
"+44(0)118 4960###",
|
||||
"+44(0)1184960###",
|
||||
"0121 496 0###",
|
||||
"0121 4960###",
|
||||
"01214960###",
|
||||
"(0121) 496 0###",
|
||||
"(0121) 4960###",
|
||||
"(0121)4960###",
|
||||
"+44121 496 0###",
|
||||
"+44121 4960###",
|
||||
"+441214960###",
|
||||
"+44(0)121 496 0###",
|
||||
"+44(0)121 4960###",
|
||||
"+44(0)1214960###",
|
||||
"0131 496 0###",
|
||||
"0131 4960###",
|
||||
"01314960###",
|
||||
"(0131) 496 0###",
|
||||
"(0131) 4960###",
|
||||
"(0131)4960###",
|
||||
"+44131 496 0###",
|
||||
"+44131 4960###",
|
||||
"+441314960###",
|
||||
"+44(0)131 496 0###",
|
||||
"+44(0)131 4960###",
|
||||
"+44(0)1314960###",
|
||||
"0141 496 0###",
|
||||
"0141 4960###",
|
||||
"01414960###",
|
||||
"(0141) 496 0###",
|
||||
"(0141) 4960###",
|
||||
"(0141)4960###",
|
||||
"+44141 496 0###",
|
||||
"+44141 4960###",
|
||||
"+441414960###",
|
||||
"+44(0)141 496 0###",
|
||||
"+44(0)141 4960###",
|
||||
"+44(0)1414960###",
|
||||
"0151 496 0###",
|
||||
"0151 4960###",
|
||||
"01514960###",
|
||||
"(0151) 496 0###",
|
||||
"(0151) 4960###",
|
||||
"(0151)4960###",
|
||||
"+44151 496 0###",
|
||||
"+44151 4960###",
|
||||
"+441514960###",
|
||||
"+44(0)151 496 0###",
|
||||
"+44(0)151 4960###",
|
||||
"+44(0)1514960###",
|
||||
"0161 496 0###",
|
||||
"0161 4960###",
|
||||
"01614960###",
|
||||
"(0161) 496 0###",
|
||||
"(0161) 4960###",
|
||||
"(0161)4960###",
|
||||
"+44161 496 0###",
|
||||
"+44161 4960###",
|
||||
"+441614960###",
|
||||
"+44(0)161 496 0###",
|
||||
"+44(0)161 4960###",
|
||||
"+44(0)1614960###",
|
||||
"0191 498 0###",
|
||||
"0191 4960###",
|
||||
"01914960###",
|
||||
"(0191) 496 0###",
|
||||
"(0191) 4960###",
|
||||
"(0191)4960###",
|
||||
"+44191 496 0###",
|
||||
"+44191 4960###",
|
||||
"+441914960###",
|
||||
"+44(0)191 496 0###",
|
||||
"+44(0)191 4960###",
|
||||
"+44(0)1914960###",
|
||||
"020 7946 0###",
|
||||
"020 74960###",
|
||||
"02074960###",
|
||||
"(020) 7496 0###",
|
||||
"(020) 74960###",
|
||||
"(020)74960###",
|
||||
"+4420 7496 0###",
|
||||
"+4420 74960###",
|
||||
"+442074960###",
|
||||
"+44(0)20 7496 0###",
|
||||
"+44(0)20 74960###",
|
||||
"+44(0)2074960###",
|
||||
"028 9018 0###",
|
||||
"028 9018###",
|
||||
"0289018###",
|
||||
"(028) 9018 0###",
|
||||
"(028) 9018###",
|
||||
"(028)9018###",
|
||||
"+4428 9018 0###",
|
||||
"+4428 9018###",
|
||||
"+44289018###",
|
||||
"+44(0)28 9018 0###",
|
||||
"+44(0)28 9018###",
|
||||
"+44(0)289018###",
|
||||
"029 2018 0###",
|
||||
"029 2018###",
|
||||
"0292018###",
|
||||
"(029) 2018 0###",
|
||||
"(029) 2018###",
|
||||
"(029)2018###",
|
||||
"+4429 2018 0###",
|
||||
"+4429 2018###",
|
||||
"+44292018###",
|
||||
"+44(0)29 2018 0###",
|
||||
"+44(0)29 2018###",
|
||||
"+44(0)292018###",
|
||||
"01632 960 ###",
|
||||
"01632 960###",
|
||||
"01632960###",
|
||||
"(01632) 960 ###",
|
||||
"(01632) 960###",
|
||||
"(01632)960###",
|
||||
"+441632 960 ###",
|
||||
"+441632 960###",
|
||||
"+441632960###",
|
||||
"+44(0)1632 960 ###",
|
||||
"+44(0)1632 960###",
|
||||
"+44(0)1632960###",
|
||||
"0306 999 0###",
|
||||
"0306 9990###",
|
||||
"03069990###",
|
||||
"(0306) 999 0###",
|
||||
"(0306) 9990###",
|
||||
"(0306)9990###",
|
||||
"+44306 999 0###",
|
||||
"+44306 9990###",
|
||||
"+443069990###",
|
||||
"+44(0)306 999 0###",
|
||||
"+44(0)306 9990###",
|
||||
"+44(0)3069990###",
|
||||
"0808 157 0###",
|
||||
"0808 1570###",
|
||||
"08081570###",
|
||||
"(0808) 157 0###",
|
||||
"(0808) 1570###",
|
||||
"(0808)1570###",
|
||||
"+44808 157 0###",
|
||||
"+44808 1570###",
|
||||
"+448081570###",
|
||||
"+44(0)808 157 0###",
|
||||
"+44(0)808 1570###",
|
||||
"+44(0)8081570###",
|
||||
"0909 879 0###",
|
||||
"0909 8790###",
|
||||
"09098790###",
|
||||
"(0909) 879 0###",
|
||||
"(0909) 8790###",
|
||||
"(0909)8790###",
|
||||
"+44909 879 0###",
|
||||
"+44909 8790###",
|
||||
"+449098790###",
|
||||
"+44(0)909 879 0###",
|
||||
"+44(0)909 8790###",
|
||||
"+44(0)9098790###",
|
||||
)
|
||||
|
||||
def cellphone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.cellphone_formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
Binary file not shown.
@@ -0,0 +1,9 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
"+91##########",
|
||||
"0##########",
|
||||
"##########",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,46 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
# Local calls
|
||||
"%## ####",
|
||||
"%##-####",
|
||||
"%######",
|
||||
# National & Mobile dialing
|
||||
"0{{area_code}} %## ####",
|
||||
"0{{area_code}} %##-####",
|
||||
"0{{area_code}}-%##-####",
|
||||
"0{{area_code}} %######",
|
||||
# Optional parenthesis
|
||||
"(0{{area_code}}) %## ####",
|
||||
"(0{{area_code}}) %##-####",
|
||||
"(0{{area_code}}) %######",
|
||||
# International drops the 0
|
||||
"+64 {{area_code}} %## ####",
|
||||
"+64 {{area_code}} %##-####",
|
||||
"+64 {{area_code}} %######",
|
||||
"+64-{{area_code}}-%##-####",
|
||||
"+64{{area_code}}%######",
|
||||
)
|
||||
|
||||
area_codes = [
|
||||
# Mobiles
|
||||
"20",
|
||||
"21",
|
||||
"22",
|
||||
"27",
|
||||
"29",
|
||||
"3", # South Island
|
||||
"4", # Wellington
|
||||
"6", # Lower North Island
|
||||
"7", # Central North Island
|
||||
"9", # Auckland
|
||||
]
|
||||
|
||||
def area_code(self) -> str:
|
||||
return self.numerify(self.random_element(self.area_codes))
|
||||
|
||||
def phone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
Binary file not shown.
@@ -0,0 +1,252 @@
|
||||
from typing import Sequence, Tuple
|
||||
|
||||
from ... import BaseProvider
|
||||
|
||||
|
||||
class Provider(BaseProvider):
|
||||
"""
|
||||
Provider for Philippine mobile and landline telephone numbers
|
||||
|
||||
This provider has methods that generate phone numbers specific to service providers whenever applicable, because the
|
||||
kinds of services, the quality of said services, and even the fees may vary depending on the service provider and
|
||||
the service location. This in turn, affects subscriber behavior, e.g. someone with a SIM from company X may be very
|
||||
unlikely to respond to calls and texts sent from a company Y SIM as the service charge might be more expensive. The
|
||||
provider methods are there to enable the creation of more "realistic" fake data for such cases.
|
||||
|
||||
Additional Notes:
|
||||
- The Philippine telecommunication industry is dominated by the Globe-PLDT duopoly. Globe offers landline
|
||||
services under the Globe brand and mobile services under the Globe and TM brands. PLDT offers landline
|
||||
services under the PLDT brand, and its subsidiaries offer mobile services under the Smart, TNT, and SUN
|
||||
brands. The rest of the industry is shared by smaller players, and Bayantel is one of the more well-known
|
||||
players that provide landline services.
|
||||
- Globe mobile prefixes include both Globe and TM brands, and the Smart mobile prefixes include both Smart
|
||||
and TNT brands but not the SUN brand. Available sources only split the prefixes this way.
|
||||
- In October 2019, Area 2 landline numbers were migrated to an 8 digit scheme, while the rest of the
|
||||
country still uses the original 7 digit scheme. Area 2 is comprised of the whole National Capital
|
||||
Region (aka Metro Manila) and parts of surrounding provinces, and within this area, the service
|
||||
provider's identifier is included in every 8 digit landline number.
|
||||
|
||||
Sources:
|
||||
- https://en.wikipedia.org/wiki/Telephone_numbers_in_the_Philippines
|
||||
- https://www.prefix.ph/prefixes/2019-updated-complete-list-of-philippine-mobile-network-prefixes/
|
||||
- https://powerpinoys.com/network-prefixes-philippines/
|
||||
"""
|
||||
|
||||
globe_mobile_number_prefixes: Tuple[str, ...] = (
|
||||
"817",
|
||||
"904",
|
||||
"905",
|
||||
"906",
|
||||
"915",
|
||||
"916",
|
||||
"917",
|
||||
"926",
|
||||
"927",
|
||||
"935",
|
||||
"936",
|
||||
"937",
|
||||
"945",
|
||||
"955",
|
||||
"956",
|
||||
"965",
|
||||
"966",
|
||||
"967",
|
||||
"973",
|
||||
"975",
|
||||
"976",
|
||||
"977",
|
||||
"978",
|
||||
"979",
|
||||
"994",
|
||||
"995",
|
||||
"996",
|
||||
"997",
|
||||
)
|
||||
smart_mobile_number_prefixes: Tuple[str, ...] = (
|
||||
"813",
|
||||
"907",
|
||||
"908",
|
||||
"909",
|
||||
"910",
|
||||
"911",
|
||||
"912",
|
||||
"913",
|
||||
"914",
|
||||
"918",
|
||||
"919",
|
||||
"920",
|
||||
"921",
|
||||
"928",
|
||||
"929",
|
||||
"930",
|
||||
"938",
|
||||
"939",
|
||||
"940",
|
||||
"946",
|
||||
"947",
|
||||
"948",
|
||||
"949",
|
||||
"950",
|
||||
"951",
|
||||
"961",
|
||||
"970",
|
||||
"981",
|
||||
"989",
|
||||
"992",
|
||||
"998",
|
||||
"999",
|
||||
)
|
||||
sun_mobile_number_prefixes: Tuple[str, ...] = (
|
||||
"922",
|
||||
"923",
|
||||
"924",
|
||||
"925",
|
||||
"931",
|
||||
"932",
|
||||
"933",
|
||||
"934",
|
||||
"941",
|
||||
"942",
|
||||
"943",
|
||||
"944",
|
||||
)
|
||||
globe_mobile_number_formats: Tuple[str, ...] = (
|
||||
"0{{globe_mobile_number_prefix}}-###-####",
|
||||
"+63{{globe_mobile_number_prefix}}-###-####",
|
||||
)
|
||||
smart_mobile_number_formats: Tuple[str, ...] = (
|
||||
"0{{smart_mobile_number_prefix}}-###-####",
|
||||
"+63{{smart_mobile_number_prefix}}-###-####",
|
||||
)
|
||||
sun_mobile_number_formats: Tuple[str, ...] = (
|
||||
"0{{sun_mobile_number_prefix}}-###-####",
|
||||
"+63{{sun_mobile_number_prefix}}-###-####",
|
||||
)
|
||||
mobile_number_formats: Tuple[str, ...] = (
|
||||
globe_mobile_number_formats + smart_mobile_number_formats + sun_mobile_number_formats
|
||||
)
|
||||
|
||||
bayantel_landline_identifiers: Tuple[str, ...] = tuple(str(x) for x in range(3000, 3500))
|
||||
misc_landline_identifiers: Tuple[str, ...] = tuple(str(x) for x in range(5300, 5800)) + tuple(
|
||||
str(x) for x in range(6000, 6700)
|
||||
)
|
||||
non_area2_landline_area_codes: Tuple[str, ...] = (
|
||||
"32",
|
||||
"33",
|
||||
"34",
|
||||
"35",
|
||||
"36",
|
||||
"38",
|
||||
"42",
|
||||
"43",
|
||||
"44",
|
||||
"45",
|
||||
"46",
|
||||
"47",
|
||||
"48",
|
||||
"49",
|
||||
"52",
|
||||
"53",
|
||||
"54",
|
||||
"55",
|
||||
"56",
|
||||
"62",
|
||||
"63",
|
||||
"64",
|
||||
"65",
|
||||
"68",
|
||||
"72",
|
||||
"74",
|
||||
"75",
|
||||
"77",
|
||||
"78",
|
||||
"82",
|
||||
"83",
|
||||
"84",
|
||||
"85",
|
||||
"86",
|
||||
"87",
|
||||
"88",
|
||||
)
|
||||
globe_area2_landline_number_formats: Tuple[str, ...] = (
|
||||
"02-7###-####",
|
||||
"+632-7###-####",
|
||||
)
|
||||
pldt_area2_landline_number_formats: Tuple[str, ...] = (
|
||||
"02-8###-####",
|
||||
"+632-8###-####",
|
||||
)
|
||||
bayantel_area2_landline_number_formats: Tuple[str, ...] = (
|
||||
"02-{{bayantel_landline_identifier}}-####",
|
||||
"+632-{{bayantel_landline_identifier}}-####",
|
||||
)
|
||||
misc_area2_landline_number_formats: Tuple[str, ...] = (
|
||||
"02-{{misc_landline_identifier}}-####",
|
||||
"+632-{{misc_landline_identifier}}-####",
|
||||
)
|
||||
area2_landline_number_formats: Tuple[str, ...] = (
|
||||
globe_area2_landline_number_formats
|
||||
+ pldt_area2_landline_number_formats
|
||||
+ bayantel_area2_landline_number_formats
|
||||
+ misc_area2_landline_number_formats
|
||||
)
|
||||
non_area2_landline_number_formats: Tuple[str, ...] = (
|
||||
"0{{non_area2_landline_area_code}}-###-####",
|
||||
"+63{{non_area2_landline_area_code}}-###-####",
|
||||
)
|
||||
landline_number_formats: Tuple[str, ...] = area2_landline_number_formats + non_area2_landline_number_formats
|
||||
|
||||
def _create_phone_number(self, formats: Sequence[str]) -> str:
|
||||
pattern: str = self.random_element(formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
|
||||
def globe_mobile_number_prefix(self) -> str:
|
||||
return self.random_element(self.globe_mobile_number_prefixes)
|
||||
|
||||
def smart_mobile_number_prefix(self) -> str:
|
||||
return self.random_element(self.smart_mobile_number_prefixes)
|
||||
|
||||
def sun_mobile_number_prefix(self) -> str:
|
||||
return self.random_element(self.sun_mobile_number_prefixes)
|
||||
|
||||
def bayantel_landline_identifier(self) -> str:
|
||||
return self.random_element(self.bayantel_landline_identifiers)
|
||||
|
||||
def misc_landline_identifier(self) -> str:
|
||||
return self.random_element(self.misc_landline_identifiers)
|
||||
|
||||
def non_area2_landline_area_code(self) -> str:
|
||||
return self.random_element(self.non_area2_landline_area_codes)
|
||||
|
||||
def globe_mobile_number(self) -> str:
|
||||
return self._create_phone_number(self.globe_mobile_number_formats)
|
||||
|
||||
def smart_mobile_number(self) -> str:
|
||||
return self._create_phone_number(self.smart_mobile_number_formats)
|
||||
|
||||
def sun_mobile_number(self) -> str:
|
||||
return self._create_phone_number(self.sun_mobile_number_formats)
|
||||
|
||||
def mobile_number(self) -> str:
|
||||
return self._create_phone_number(self.mobile_number_formats)
|
||||
|
||||
def globe_area2_landline_number(self) -> str:
|
||||
return self._create_phone_number(self.globe_area2_landline_number_formats)
|
||||
|
||||
def pldt_area2_landline_number(self) -> str:
|
||||
return self._create_phone_number(self.pldt_area2_landline_number_formats)
|
||||
|
||||
def bayantel_area2_landline_number(self) -> str:
|
||||
return self._create_phone_number(self.bayantel_area2_landline_number_formats)
|
||||
|
||||
def misc_area2_landline_number(self) -> str:
|
||||
return self._create_phone_number(self.misc_area2_landline_number_formats)
|
||||
|
||||
def area2_landline_number(self) -> str:
|
||||
return self._create_phone_number(self.area2_landline_number_formats)
|
||||
|
||||
def non_area2_landline_number(self) -> str:
|
||||
return self._create_phone_number(self.non_area2_landline_number_formats)
|
||||
|
||||
def landline_number(self) -> str:
|
||||
return self._create_phone_number(self.landline_number_formats)
|
||||
Binary file not shown.
@@ -0,0 +1,50 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
# Standard 10-digit phone number formats
|
||||
"$##$######",
|
||||
"$##$######",
|
||||
"$##-$##-####",
|
||||
"$##-$##-####",
|
||||
# Optional 10-digit local phone number format
|
||||
"($##)$##-####",
|
||||
"($##)$##-####",
|
||||
# Non-standard 10-digit phone number format
|
||||
"$##.$##.####",
|
||||
"$##.$##.####",
|
||||
# Standard 10-digit phone number format with extensions
|
||||
"$##-$##-####x###",
|
||||
"$##-$##-####x####",
|
||||
"$##-$##-####x#####",
|
||||
# Optional 10-digit local phone number format with extensions
|
||||
"($##)$##-####x###",
|
||||
"($##)$##-####x####",
|
||||
"($##)$##-####x#####",
|
||||
# Non-standard 10-digit phone number format with extensions
|
||||
"$##.$##.####x###",
|
||||
"$##.$##.####x####",
|
||||
"$##.$##.####x#####",
|
||||
# Standard 11-digit phone number format
|
||||
"+1-$##-$##-####",
|
||||
"001-$##-$##-####",
|
||||
# Standard 11-digit phone number format with extensions
|
||||
"+1-$##-$##-####x###",
|
||||
"+1-$##-$##-####x####",
|
||||
"+1-$##-$##-####x#####",
|
||||
"001-$##-$##-####x###",
|
||||
"001-$##-$##-####x####",
|
||||
"001-$##-$##-####x#####",
|
||||
)
|
||||
|
||||
basic_formats = (
|
||||
# basic 10-digit phone number format with no extensions
|
||||
"$##$######",
|
||||
"$##-$##-####",
|
||||
"($##)$##-####",
|
||||
)
|
||||
|
||||
def basic_phone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.basic_formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
Binary file not shown.
@@ -0,0 +1,46 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
"""
|
||||
According to official specs:
|
||||
https://es.wikipedia.org/wiki/N%C3%BAmeros_telef%C3%B3nicos_en_Argentina
|
||||
https://www.argentina.gob.ar/pais/codigo-telefonia
|
||||
"""
|
||||
|
||||
formats = (
|
||||
"+54 15 2%## ####", # National telephone to mobile phone
|
||||
"+54 9 3%## ####", # International phone}
|
||||
)
|
||||
|
||||
landline_codes = (
|
||||
"351", # Córdoba (capital city of Córdoba province)
|
||||
"379", # Corrientes (capital city of Corrientes province)
|
||||
"221", # La Plata (capital city of Buenos Aires province)
|
||||
"380", # La Rioja (capital city of La Rioja province)
|
||||
"261", # Mendoza (capital city of Mendoza province)
|
||||
"299", # Neuquén (capital city of Neuquén province)
|
||||
"343", # Paraná (capital city of Entre Ríos province)
|
||||
"376", # Posadas (capital city of Misiones province)
|
||||
"280", # Rawson (capital city of Chubut province)
|
||||
"362", # Resistencia (capital city of Chaco province)
|
||||
"2966", # Río Gallegos (capital city of Santa Cruz province)
|
||||
"387", # Salta (capital city of Salta province)
|
||||
"383", # San Fernando del Valle de Catamarca (capital city of Catamarca province)
|
||||
"264", # San Juan (capital city of San Juan province)
|
||||
"266", # San Luis (capital city of San Luis province)
|
||||
"381", # San Miguel de Tucumán (capital city of Tucumán province)
|
||||
"388", # San Salvador de Jujuy (capital city of Jujuy province)
|
||||
"342", # Santa Fe (capital city of Santa Fe province)
|
||||
"2954", # Santa Rosa (capital city of La Pampa province)
|
||||
"385", # Santiago del Estero (capital city of Santiago del Estero province)
|
||||
"391", # Ushuaia (capital city of Tierra del Fuego province)
|
||||
"2920", # Viedma (capital city of Rio Negro province)
|
||||
)
|
||||
|
||||
special_codes = (
|
||||
"600", # Nationalwide
|
||||
"800", # Nationalwide, toll-free
|
||||
)
|
||||
|
||||
cellphone_blocks = ("2", "3", "4", "5", "6", "7", "8", "9")
|
||||
Binary file not shown.
@@ -0,0 +1,65 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
"""
|
||||
According to official specs:
|
||||
https://www.bcn.cl/leychile/navegar?i=173931
|
||||
https://www.itu.int/itudoc/itu-t/number/c/chl/76483_ww9-es.doc
|
||||
https://www.subtel.gob.cl/base_numeracion/tabla_numeracion_ido_idd.xlsx
|
||||
"""
|
||||
|
||||
formats = (
|
||||
"+56 2 2%## ####", # santiago landline
|
||||
"+56 2 3%## ####",
|
||||
"+56 {{ landline_code }} 2%# ####", # national landlines and VoIP
|
||||
"+56 {{ landline_code }} 3%# ####",
|
||||
"+56 9 {{ cellphone_block }}%## ####", # cell phones
|
||||
"+56 {{ special_code }} %## ###", # special
|
||||
)
|
||||
|
||||
landline_codes = (
|
||||
"32", # Valparaíso
|
||||
"33", # Quillota
|
||||
"34", # Los Andes
|
||||
"35", # San Antonio
|
||||
"41", # Concepción
|
||||
"42", # Chillán
|
||||
"43", # Los Ángeles
|
||||
"45", # Temuco
|
||||
"51", # La Serena
|
||||
"52", # Copiapó
|
||||
"53", # Ovalle
|
||||
"55", # Antofagasta
|
||||
"57", # Iquique
|
||||
"58", # Arica
|
||||
"61", # Punta Arenas
|
||||
"63", # Valdivia
|
||||
"64", # Osorno
|
||||
"65", # Puerto Montt
|
||||
"67", # Coyhaique
|
||||
"71", # Talca
|
||||
"72", # Rangagua
|
||||
"73", # Linares
|
||||
"75", # Curicó
|
||||
"44", # VoIP
|
||||
)
|
||||
|
||||
special_codes = (
|
||||
"600", # Nationalwide
|
||||
"800", # Nationalwide, toll-free
|
||||
)
|
||||
|
||||
cellphone_blocks = ("2", "3", "4", "5", "6", "7", "8", "9")
|
||||
|
||||
def landline_code(self) -> str:
|
||||
return self.numerify(self.random_element(self.landline_codes))
|
||||
|
||||
def cellphone_block(self) -> str:
|
||||
return self.random_element(self.cellphone_blocks)
|
||||
|
||||
def special_code(self) -> str:
|
||||
return self.numerify(self.random_element(self.special_codes))
|
||||
|
||||
def phone_number(self) -> str:
|
||||
return self.numerify(self.generator.parse(self.random_element(self.formats)))
|
||||
Binary file not shown.
@@ -0,0 +1,42 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = [
|
||||
"%######",
|
||||
"60%%######",
|
||||
"5760%%######",
|
||||
"+5760%%######",
|
||||
"(+57)60%%######",
|
||||
"%## ## ##",
|
||||
"60% %## ## ##",
|
||||
"57 60% %## ## ##",
|
||||
"+57 60% %## ## ##",
|
||||
"(+57) 60% %## ## ##",
|
||||
"30########",
|
||||
"5730########",
|
||||
"+5730########",
|
||||
"(+57)30########",
|
||||
"30# ### ## ##",
|
||||
"57 30# ### ## ##",
|
||||
"+57 30# ### ## ##",
|
||||
"(+57) 30# ### ## ##",
|
||||
"31########",
|
||||
"5731########",
|
||||
"+5731########",
|
||||
"(+57)31########",
|
||||
"31# ### ## ##",
|
||||
"57 31# ### ## ##",
|
||||
"+57 31# ### ## ##",
|
||||
"(+57) 31# ### ## ##",
|
||||
"32########",
|
||||
"5732########",
|
||||
"+5732########",
|
||||
"(+57)32########",
|
||||
"32# ### ## ##",
|
||||
"57 32# ### ## ##",
|
||||
"+57 32# ### ## ##",
|
||||
"(+57) 32# ### ## ##",
|
||||
"01800#######",
|
||||
"01 800# ### ###",
|
||||
]
|
||||
Binary file not shown.
@@ -0,0 +1,128 @@
|
||||
import itertools
|
||||
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
"""
|
||||
According to official specs:
|
||||
https://avancedigital.mineco.gob.es/es-ES/Servicios/Numeracion/Documents/Guia_Numeracion.pdf
|
||||
"""
|
||||
|
||||
PREFIXES = (
|
||||
"6##",
|
||||
"70#",
|
||||
"71#",
|
||||
"72#",
|
||||
"73#",
|
||||
"74#",
|
||||
# 75-79 unassigned
|
||||
"800",
|
||||
"803",
|
||||
"806",
|
||||
"807",
|
||||
# 801, 802, 804, 805, 808, 809 unassigned
|
||||
"81#",
|
||||
"820",
|
||||
"821",
|
||||
"822",
|
||||
"823",
|
||||
"824",
|
||||
"825",
|
||||
"826",
|
||||
"827",
|
||||
"828",
|
||||
# 829 unassigned
|
||||
"83#",
|
||||
# 840 unassigned
|
||||
"841",
|
||||
"842",
|
||||
"843",
|
||||
"844",
|
||||
"845",
|
||||
"846",
|
||||
"847",
|
||||
"848",
|
||||
"849",
|
||||
"85#",
|
||||
"86#",
|
||||
# 870 unassigned
|
||||
"871",
|
||||
"872",
|
||||
"873",
|
||||
"874",
|
||||
"875",
|
||||
"876",
|
||||
"877",
|
||||
"878",
|
||||
"879",
|
||||
"880",
|
||||
"881",
|
||||
"882",
|
||||
"883",
|
||||
"884",
|
||||
"885",
|
||||
"886",
|
||||
"887",
|
||||
"888",
|
||||
# 889-899 unassigned
|
||||
"900",
|
||||
"901",
|
||||
"902",
|
||||
# 903-909 unassigned
|
||||
"91#",
|
||||
"920",
|
||||
"921",
|
||||
"922",
|
||||
"923",
|
||||
"924",
|
||||
"925",
|
||||
"926",
|
||||
"927",
|
||||
"928",
|
||||
# 929 unassigned
|
||||
"93#",
|
||||
# 940 unassigned
|
||||
"941",
|
||||
"942",
|
||||
"943",
|
||||
"944",
|
||||
"945",
|
||||
"946",
|
||||
"947",
|
||||
"948",
|
||||
"949",
|
||||
"95#",
|
||||
"96#",
|
||||
# 970 unassigned
|
||||
"971",
|
||||
"972",
|
||||
"973",
|
||||
"974",
|
||||
"975",
|
||||
"976",
|
||||
"977",
|
||||
"978",
|
||||
"979",
|
||||
"980",
|
||||
"981",
|
||||
"982",
|
||||
"983",
|
||||
"984",
|
||||
"985",
|
||||
"986",
|
||||
"987",
|
||||
"988",
|
||||
# 989-999 unassigned
|
||||
)
|
||||
PHONE_FORMATS = (
|
||||
"+34 xxx ### ###",
|
||||
"+34 xxx######",
|
||||
"+34 xxx ## ## ##",
|
||||
"+34xxx ### ###",
|
||||
"+34xxx######",
|
||||
"+34xxx ## ## ##",
|
||||
)
|
||||
formats = tuple(
|
||||
phone_format.replace("xxx", prefix) for (prefix, phone_format) in itertools.product(PREFIXES, PHONE_FORMATS)
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,30 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
"+##(#)##########",
|
||||
"+##(#)##########",
|
||||
"0##########",
|
||||
"0##########",
|
||||
"###-###-####",
|
||||
"(###)###-####",
|
||||
"1-###-###-####",
|
||||
"###.###.####",
|
||||
"###-###-####",
|
||||
"(###)###-####",
|
||||
"1-###-###-####",
|
||||
"###.###.####",
|
||||
"###-###-####x###",
|
||||
"(###)###-####x###",
|
||||
"1-###-###-####x###",
|
||||
"###.###.####x###",
|
||||
"###-###-####x####",
|
||||
"(###)###-####x####",
|
||||
"1-###-###-####x####",
|
||||
"###.###.####x####",
|
||||
"###-###-####x#####",
|
||||
"(###)###-####x#####",
|
||||
"1-###-###-####x#####",
|
||||
"###.###.####x#####",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,101 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
# Mobile
|
||||
# Mci
|
||||
"+98 91# ### ####",
|
||||
"091# ### ####",
|
||||
"+98 990 ### ####",
|
||||
"0990 ### ####",
|
||||
"+98 991 ### ####",
|
||||
"0991 ### ####",
|
||||
# Rightel Mobile prefixes
|
||||
"+98 920 ### ####",
|
||||
"0920 ### ####",
|
||||
"+98 921 ### ####",
|
||||
"0921 ### ####",
|
||||
"+98 922 ### ####",
|
||||
"0922 ### ####",
|
||||
# Samantel Mobile prefixes
|
||||
"+98 999 ### ####",
|
||||
"0999 ### ####",
|
||||
# Mtn and Talia
|
||||
"+98 93# ### ####",
|
||||
"093# ### ####",
|
||||
"+98 901 ### ####",
|
||||
"0901 ### ####",
|
||||
"+98 902 ### ####",
|
||||
"902 ### ####",
|
||||
"+98 903 ### ####",
|
||||
"0903 ### ####",
|
||||
"+98 905 ### ####",
|
||||
"0905 ### ####",
|
||||
# Land lines,
|
||||
# https://en.wikipedia.org/wiki/List_of_dialling_codes_in_Iran
|
||||
"+98 21 #### ####",
|
||||
"021 #### ####",
|
||||
"+98 26 #### ####",
|
||||
"026 #### ####",
|
||||
"+98 25 #### ####",
|
||||
"025 #### ####",
|
||||
"+98 86 #### ####",
|
||||
"086 #### ####",
|
||||
"+98 24 #### ####",
|
||||
"024 #### ####",
|
||||
"+98 23 #### ####",
|
||||
"023 #### ####",
|
||||
"+98 81 #### ####",
|
||||
"081 #### ####",
|
||||
"+98 28 #### ####",
|
||||
"028 #### ####",
|
||||
"+98 31 #### ####",
|
||||
"031 #### ####",
|
||||
"+98 44 #### ####",
|
||||
"044 #### ####",
|
||||
"+98 11 #### ####",
|
||||
"011 #### ####",
|
||||
"+98 74 #### ####",
|
||||
"074 #### ####",
|
||||
"+98 83 #### ####",
|
||||
"083 #### ####",
|
||||
"+98 51 #### ####",
|
||||
"051 #### ####",
|
||||
"+98 45 #### ####",
|
||||
"045 #### ####",
|
||||
"+98 17 #### ####",
|
||||
"017 #### ####",
|
||||
"+98 41 #### ####",
|
||||
"041 #### ####",
|
||||
"+98 54 #### ####",
|
||||
"054 #### ####",
|
||||
"+98 87 #### ####",
|
||||
"087 #### ####",
|
||||
"+98 71 #### ####",
|
||||
"071 #### ####",
|
||||
"+98 66 #### ####",
|
||||
"066 #### ####",
|
||||
"+98 34 #### ####",
|
||||
"034 #### ####",
|
||||
"+98 56 #### ####",
|
||||
"056 #### ####",
|
||||
"+98 13 #### ####",
|
||||
"013 #### ####",
|
||||
"+98 77 #### ####",
|
||||
"077 #### ####",
|
||||
"+98 76 #### ####",
|
||||
"076 #### ####",
|
||||
"+98 61 #### ####",
|
||||
"061 #### ####",
|
||||
"+98 38 #### ####",
|
||||
"038 #### ####",
|
||||
"+98 58 #### ####",
|
||||
"058 #### ####",
|
||||
"+98 35 #### ####",
|
||||
"035 #### ####",
|
||||
"+98 84 #### ####",
|
||||
"084 #### ####",
|
||||
"+98 ### #### ####",
|
||||
"0### #### ####",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,12 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
"+358 ## #######",
|
||||
"+358 #########",
|
||||
"+358#########",
|
||||
"(+358) #########",
|
||||
"0#########",
|
||||
"0## ### ####",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
from ..en_PH import Provider as EnPhPhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(EnPhPhoneNumberProvider):
|
||||
"""No difference from Phone Number Provider for en_PH locale"""
|
||||
|
||||
pass
|
||||
Binary file not shown.
@@ -0,0 +1,37 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
# source: https://de.wikipedia.org/wiki/Telefonnummer_(Schweiz)#Schreibweisen
|
||||
"+41 2# ### ## ##",
|
||||
"+41 3# ### ## ##",
|
||||
"+41 4# ### ## ##",
|
||||
"+41 5# ### ## ##",
|
||||
"+41 6# ### ## ##",
|
||||
"+41 7# ### ## ##",
|
||||
"+41 8# ### ## ##",
|
||||
"+41 9# ### ## ##",
|
||||
"+41 (0)2# ### ## ##",
|
||||
"+41 (0)3% ### ## ##",
|
||||
"+41 (0)4% ### ## ##",
|
||||
"+41 (0)5# ### ## ##",
|
||||
"+41 (0)6# ### ## ##",
|
||||
"+41 (0)7% ### ## ##",
|
||||
"+41 (0)8# ### ## ##",
|
||||
"+41 (0)9# ### ## ##",
|
||||
"02# ### ## ##",
|
||||
"03% ### ## ##",
|
||||
"04% ### ## ##",
|
||||
"05# ### ## ##",
|
||||
"06# ### ## ##",
|
||||
"07% ### ## ##",
|
||||
"08# ### ## ##",
|
||||
"09# ### ## ##",
|
||||
# see: http://www.bakom.admin.ch/themen/telekom/00479/00607/index.html
|
||||
"084# ### ###",
|
||||
"0878 ### ###",
|
||||
"0900 ### ###",
|
||||
"0901 ### ###",
|
||||
"0906 ### ###",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,5 @@
|
||||
from ..ar_DZ import Provider as ar_DZProvider
|
||||
|
||||
|
||||
class Provider(ar_DZProvider):
|
||||
pass
|
||||
Binary file not shown.
@@ -0,0 +1,284 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
"+33 (0){{area_code_with_separator}} ## ## ##",
|
||||
"+33 {{area_code_with_separator}} ## ## ##",
|
||||
"0{{area_code_without_separator}}######",
|
||||
"0{{area_code_with_separator}} ## ## ##",
|
||||
)
|
||||
|
||||
# https://fr.wikipedia.org/wiki/Liste_des_indicatifs_t%C3%A9l%C3%A9phoniques_en_France#Liste_des_indicatifs_d%C3%A9partementaux_fran%C3%A7ais_class%C3%A9s_par_indicatif
|
||||
area_codes = (
|
||||
# landlines
|
||||
"130",
|
||||
"134",
|
||||
"139",
|
||||
"140",
|
||||
"141",
|
||||
"142",
|
||||
"143",
|
||||
"144",
|
||||
"145",
|
||||
"146",
|
||||
"147",
|
||||
"148",
|
||||
"149",
|
||||
"153",
|
||||
"155",
|
||||
"156",
|
||||
"158",
|
||||
"160",
|
||||
"164",
|
||||
"169",
|
||||
"170",
|
||||
"172",
|
||||
"173",
|
||||
"174",
|
||||
"175",
|
||||
"176",
|
||||
"177",
|
||||
"178",
|
||||
"179",
|
||||
"180",
|
||||
"181",
|
||||
"182",
|
||||
"183",
|
||||
"188",
|
||||
"214",
|
||||
"218",
|
||||
"219",
|
||||
"221",
|
||||
"222",
|
||||
"223",
|
||||
"228",
|
||||
"229",
|
||||
"230",
|
||||
"231",
|
||||
"232",
|
||||
"233",
|
||||
"234",
|
||||
"235",
|
||||
"236",
|
||||
"237",
|
||||
"238",
|
||||
"240",
|
||||
"241",
|
||||
"243",
|
||||
"244",
|
||||
"245",
|
||||
"246",
|
||||
"247",
|
||||
"248",
|
||||
"249",
|
||||
"250",
|
||||
"251",
|
||||
"252",
|
||||
"253",
|
||||
"254",
|
||||
"255",
|
||||
"256",
|
||||
"257",
|
||||
"258",
|
||||
"261",
|
||||
"262",
|
||||
"269",
|
||||
"272",
|
||||
"276",
|
||||
"277",
|
||||
"278",
|
||||
"279",
|
||||
"285",
|
||||
"290",
|
||||
"296",
|
||||
"297",
|
||||
"298",
|
||||
"299",
|
||||
"310",
|
||||
"320",
|
||||
"321",
|
||||
"322",
|
||||
"323",
|
||||
"324",
|
||||
"325",
|
||||
"326",
|
||||
"327",
|
||||
"328",
|
||||
"329",
|
||||
"339",
|
||||
"344",
|
||||
"345",
|
||||
"351",
|
||||
"352",
|
||||
"353",
|
||||
"354",
|
||||
"355",
|
||||
"356",
|
||||
"357",
|
||||
"358",
|
||||
"359",
|
||||
"360",
|
||||
"361",
|
||||
"362",
|
||||
"363",
|
||||
"364",
|
||||
"365",
|
||||
"366",
|
||||
"367",
|
||||
"368",
|
||||
"369",
|
||||
"370",
|
||||
"371",
|
||||
"372",
|
||||
"373",
|
||||
"375",
|
||||
"376",
|
||||
"379",
|
||||
"380",
|
||||
"381",
|
||||
"382",
|
||||
"383",
|
||||
"384",
|
||||
"385",
|
||||
"386",
|
||||
"387",
|
||||
"388",
|
||||
"389",
|
||||
"390",
|
||||
"411",
|
||||
"413",
|
||||
"415",
|
||||
"420",
|
||||
"422",
|
||||
"423",
|
||||
"426",
|
||||
"427",
|
||||
"430",
|
||||
"432",
|
||||
"434",
|
||||
"437",
|
||||
"438",
|
||||
"442",
|
||||
"443",
|
||||
"444",
|
||||
"449",
|
||||
"450",
|
||||
"456",
|
||||
"457",
|
||||
"458",
|
||||
"463",
|
||||
"465",
|
||||
"466",
|
||||
"467",
|
||||
"468",
|
||||
"469",
|
||||
"470",
|
||||
"471",
|
||||
"472",
|
||||
"473",
|
||||
"474",
|
||||
"475",
|
||||
"476",
|
||||
"477",
|
||||
"478",
|
||||
"479",
|
||||
"480",
|
||||
"481",
|
||||
"482",
|
||||
"483",
|
||||
"484",
|
||||
"485",
|
||||
"486",
|
||||
"487",
|
||||
"488",
|
||||
"489",
|
||||
"490",
|
||||
"491",
|
||||
"492",
|
||||
"493",
|
||||
"494",
|
||||
"495",
|
||||
"497",
|
||||
"498",
|
||||
"499",
|
||||
"508",
|
||||
"516",
|
||||
"517",
|
||||
"518",
|
||||
"519",
|
||||
"524",
|
||||
"531",
|
||||
"532",
|
||||
"533",
|
||||
"534",
|
||||
"535",
|
||||
"536",
|
||||
"540",
|
||||
"545",
|
||||
"546",
|
||||
"547",
|
||||
"549",
|
||||
"553",
|
||||
"554",
|
||||
"555",
|
||||
"556",
|
||||
"557",
|
||||
"558",
|
||||
"559",
|
||||
"561",
|
||||
"562",
|
||||
"563",
|
||||
"564",
|
||||
"565",
|
||||
"567",
|
||||
"579",
|
||||
"581",
|
||||
"582",
|
||||
"586",
|
||||
"587",
|
||||
"590",
|
||||
"594",
|
||||
"596",
|
||||
# mobile numbers
|
||||
"60#",
|
||||
"61#",
|
||||
"62#",
|
||||
"630",
|
||||
"631",
|
||||
"632",
|
||||
"633",
|
||||
"634",
|
||||
"635",
|
||||
"636",
|
||||
"637",
|
||||
"638",
|
||||
"64#",
|
||||
"65#",
|
||||
"66#",
|
||||
"67#",
|
||||
"68#",
|
||||
"695",
|
||||
"698",
|
||||
"699",
|
||||
"73#",
|
||||
"74#",
|
||||
"75#",
|
||||
"76#",
|
||||
"77#",
|
||||
"78#",
|
||||
"79#",
|
||||
# special numbers
|
||||
"80#",
|
||||
)
|
||||
|
||||
def area_code_without_separator(self) -> str:
|
||||
return self.numerify(self.random_element(self.area_codes))
|
||||
|
||||
def area_code_with_separator(self) -> str:
|
||||
area_code: str = self.random_element(self.area_codes)
|
||||
return self.numerify(f"{area_code[0]} {area_code[1:]}")
|
||||
|
||||
def phone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
Binary file not shown.
@@ -0,0 +1,22 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
"02#######",
|
||||
"02-####-###",
|
||||
"03#######",
|
||||
"03-####-###",
|
||||
"04#######",
|
||||
"04-####-###",
|
||||
"08#######",
|
||||
"08-####-###",
|
||||
"09#######",
|
||||
"09-####-###",
|
||||
"05#-###-####",
|
||||
"05# ###-####",
|
||||
"05# ### ####",
|
||||
"05#-#######",
|
||||
"05# #######",
|
||||
"05########",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,11 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
"+91 ##########",
|
||||
"+91 ### #######",
|
||||
"0##-########",
|
||||
"0##########",
|
||||
"0#### ######",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,36 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
"01 #### ###",
|
||||
"020 ### ###",
|
||||
"021 ### ###",
|
||||
"022 ### ###",
|
||||
"023 ### ###",
|
||||
"031 ### ###",
|
||||
"032 ### ###",
|
||||
"033 ### ###",
|
||||
"034 ### ###",
|
||||
"035 ### ###",
|
||||
"040 ### ###",
|
||||
"042 ### ###",
|
||||
"043 ### ###",
|
||||
"044 ### ###",
|
||||
"047 ### ###",
|
||||
"048 ### ###",
|
||||
"049 ### ###",
|
||||
"051 ### ###",
|
||||
"052 ### ###",
|
||||
"053 ### ###",
|
||||
"060 ### ###",
|
||||
"072 ### ###",
|
||||
"074 ### ###",
|
||||
"091 #### ###",
|
||||
"092 #### ###",
|
||||
"095 #### ###",
|
||||
"097 #### ###",
|
||||
"098 #### ###",
|
||||
"099 #### ###",
|
||||
"0800 ## ##",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,13 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
"+36 ## ###-####",
|
||||
"(06)##/###-####",
|
||||
"(##)/###-####",
|
||||
"##/###-####",
|
||||
"##/### ####",
|
||||
"06-#/### ####",
|
||||
"06-##/### ####",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
# Source: https://en.wikipedia.org/wiki/Telephone_numbers_in_Armenia
|
||||
formats = (
|
||||
"2##-#####",
|
||||
"3##-#####",
|
||||
"(2##) #####",
|
||||
"(3##) #####",
|
||||
"2##.#####",
|
||||
"3##.#####",
|
||||
"10-######",
|
||||
"(10) ######",
|
||||
"10.######",
|
||||
"9#-######",
|
||||
"(9#) ######",
|
||||
"9#.######",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,25 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
# Currently this is my own work
|
||||
formats = (
|
||||
"+62-##-###-####",
|
||||
"+62-0##-###-####",
|
||||
"+62 (0##) ### ####",
|
||||
"+62 (0##) ###-####",
|
||||
"+62 (##) ### ####",
|
||||
"+62 (##) ###-####",
|
||||
"+62-###-###-####",
|
||||
"+62-0###-###-####",
|
||||
"+62 (0###) ### ####",
|
||||
"+62 (0###) ###-####",
|
||||
"+62 (###) ### ####",
|
||||
"+62 (###) ###-####",
|
||||
"(0##) ### ####",
|
||||
"(0##) ###-####",
|
||||
"(0###) ### ####",
|
||||
"(0###) ###-####",
|
||||
"08# ### ####",
|
||||
"08########",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,37 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
# source: https://de.wikipedia.org/wiki/Telefonnummer_(Schweiz)#Schreibweisen
|
||||
"+41 2# ### ## ##",
|
||||
"+41 3# ### ## ##",
|
||||
"+41 4# ### ## ##",
|
||||
"+41 5# ### ## ##",
|
||||
"+41 6# ### ## ##",
|
||||
"+41 7# ### ## ##",
|
||||
"+41 8# ### ## ##",
|
||||
"+41 9# ### ## ##",
|
||||
"+41 (0)2# ### ## ##",
|
||||
"+41 (0)3% ### ## ##",
|
||||
"+41 (0)4% ### ## ##",
|
||||
"+41 (0)5# ### ## ##",
|
||||
"+41 (0)6# ### ## ##",
|
||||
"+41 (0)7% ### ## ##",
|
||||
"+41 (0)8# ### ## ##",
|
||||
"+41 (0)9# ### ## ##",
|
||||
"02# ### ## ##",
|
||||
"03% ### ## ##",
|
||||
"04% ### ## ##",
|
||||
"05# ### ## ##",
|
||||
"06# ### ## ##",
|
||||
"07% ### ## ##",
|
||||
"08# ### ## ##",
|
||||
"09# ### ## ##",
|
||||
# see: http://www.bakom.admin.ch/themen/telekom/00479/00607/index.html
|
||||
"084# ### ###",
|
||||
"0878 ### ###",
|
||||
"0900 ### ###",
|
||||
"0901 ### ###",
|
||||
"0906 ### ###",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,270 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
"+39 {{area_code}}#####!!",
|
||||
"{{area_code}}#####!!",
|
||||
)
|
||||
|
||||
area_codes = (
|
||||
# Landline: https://en.wikipedia.org/wiki/List_of_dialling_codes_in_Italy
|
||||
"010#",
|
||||
"011#",
|
||||
"0122",
|
||||
"0123",
|
||||
"0124",
|
||||
"0125",
|
||||
"0131",
|
||||
"0141",
|
||||
"015#",
|
||||
"0161",
|
||||
"0163",
|
||||
"0165",
|
||||
"0166",
|
||||
"0171",
|
||||
"0183",
|
||||
"0184",
|
||||
"0185",
|
||||
"0187",
|
||||
"019#",
|
||||
"02##",
|
||||
"030#",
|
||||
"031#",
|
||||
"0321",
|
||||
"0322",
|
||||
"0324",
|
||||
"0331",
|
||||
"0332",
|
||||
"0341",
|
||||
"0342",
|
||||
"0343",
|
||||
"0344",
|
||||
"0345",
|
||||
"035#",
|
||||
"0362",
|
||||
"0363",
|
||||
"0364",
|
||||
"0365",
|
||||
"0371",
|
||||
"0372",
|
||||
"0373",
|
||||
"0375",
|
||||
"0376",
|
||||
"0382",
|
||||
"039#",
|
||||
"040#",
|
||||
"041#",
|
||||
"0421",
|
||||
"0422",
|
||||
"0423",
|
||||
"0424",
|
||||
"0425",
|
||||
"0426",
|
||||
"0429",
|
||||
"0431",
|
||||
"0432",
|
||||
"0434",
|
||||
"0438",
|
||||
"0444",
|
||||
"0445",
|
||||
"045#",
|
||||
"0461",
|
||||
"0471",
|
||||
"0481",
|
||||
"049#",
|
||||
"050#",
|
||||
"051#",
|
||||
"0521",
|
||||
"0522",
|
||||
"0523",
|
||||
"0532",
|
||||
"0535",
|
||||
"0536",
|
||||
"0541",
|
||||
"0543",
|
||||
"0544",
|
||||
"0545",
|
||||
"0547",
|
||||
"0549",
|
||||
"055#",
|
||||
"0564",
|
||||
"0565",
|
||||
"0566",
|
||||
"0571",
|
||||
"0572",
|
||||
"0573",
|
||||
"0574",
|
||||
"0575",
|
||||
"0577",
|
||||
"0578",
|
||||
"0583",
|
||||
"0584",
|
||||
"0585",
|
||||
"0586",
|
||||
"0587",
|
||||
"0588",
|
||||
"059#",
|
||||
"06##",
|
||||
"070#",
|
||||
"071#",
|
||||
"0721",
|
||||
"0731",
|
||||
"0732",
|
||||
"0733",
|
||||
"0734",
|
||||
"0735",
|
||||
"0736",
|
||||
"0737",
|
||||
"075#",
|
||||
"0761",
|
||||
"0765",
|
||||
"0771",
|
||||
"0773",
|
||||
"0774",
|
||||
"0775",
|
||||
"0776",
|
||||
"0782",
|
||||
"0783",
|
||||
"0784",
|
||||
"0789",
|
||||
"079#",
|
||||
"080#",
|
||||
"081#",
|
||||
"0823",
|
||||
"0824",
|
||||
"0825",
|
||||
"0832",
|
||||
"085#",
|
||||
"0861",
|
||||
"0862",
|
||||
"0865",
|
||||
"0874",
|
||||
"0881",
|
||||
"0882",
|
||||
"0883",
|
||||
"0884",
|
||||
"089#",
|
||||
"0835",
|
||||
"090#",
|
||||
"091#",
|
||||
"0921",
|
||||
"0931",
|
||||
"0932",
|
||||
"0933",
|
||||
"0923",
|
||||
"0922",
|
||||
"0925",
|
||||
"0934",
|
||||
"0941",
|
||||
"0942",
|
||||
"095#",
|
||||
"0961",
|
||||
"0962",
|
||||
"0963",
|
||||
"0965",
|
||||
"0974",
|
||||
"0975",
|
||||
"099#",
|
||||
"0984",
|
||||
# Mobile: https://it.wikipedia.org/wiki/Prefissi_telefonici_dei_cellulari_italiani
|
||||
"3513",
|
||||
"3514",
|
||||
"3515",
|
||||
"3516",
|
||||
"3517",
|
||||
"3518",
|
||||
"3519",
|
||||
"3520",
|
||||
"330#",
|
||||
"331#",
|
||||
"333#",
|
||||
"334#",
|
||||
"335#",
|
||||
"336#",
|
||||
"337#",
|
||||
"338#",
|
||||
"339#",
|
||||
"360#",
|
||||
"361#",
|
||||
"362#",
|
||||
"363#",
|
||||
"366#",
|
||||
"368#",
|
||||
"381#",
|
||||
"385#",
|
||||
"340#",
|
||||
"341#",
|
||||
"342#",
|
||||
"343#",
|
||||
"344#",
|
||||
"345#",
|
||||
"346#",
|
||||
"347#",
|
||||
"348#",
|
||||
"349#",
|
||||
"383#",
|
||||
"320#",
|
||||
"322#",
|
||||
"323#",
|
||||
"324#",
|
||||
"327#",
|
||||
"328#",
|
||||
"329#",
|
||||
"355#",
|
||||
"380#",
|
||||
"388#",
|
||||
"389#",
|
||||
"390#",
|
||||
"391#",
|
||||
"392#",
|
||||
"393#",
|
||||
"397#",
|
||||
"3773",
|
||||
"3793",
|
||||
"3710",
|
||||
"3777",
|
||||
"3311",
|
||||
"3703",
|
||||
"3534",
|
||||
"3778",
|
||||
"3533",
|
||||
"373#",
|
||||
"3755",
|
||||
"3756",
|
||||
"3757",
|
||||
"3770",
|
||||
"3791",
|
||||
"3792",
|
||||
"3500",
|
||||
"3501",
|
||||
"3505",
|
||||
"3509",
|
||||
"3510",
|
||||
"3511",
|
||||
"3512",
|
||||
"373#",
|
||||
"382#",
|
||||
"3780",
|
||||
"3500",
|
||||
"3505",
|
||||
"3760",
|
||||
"3711",
|
||||
"3713",
|
||||
"3714",
|
||||
"3715",
|
||||
"3716",
|
||||
"3772",
|
||||
"3774",
|
||||
"3776",
|
||||
"3779",
|
||||
"3701",
|
||||
"3783",
|
||||
)
|
||||
|
||||
def area_code(self) -> str:
|
||||
return self.numerify(self.random_element(self.area_codes))
|
||||
|
||||
def phone_number(self) -> str:
|
||||
pattern: str = self.random_element(self.formats)
|
||||
return self.numerify(self.generator.parse(pattern))
|
||||
Binary file not shown.
@@ -0,0 +1,10 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
"070-####-####",
|
||||
"080-####-####",
|
||||
"090-####-####",
|
||||
"##-####-####",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,16 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
# Sourse: https://en.wikipedia.org/wiki/Telephone_numbers_in_Georgia_(country)
|
||||
formats = (
|
||||
"+995 ### ### ###",
|
||||
"+995 (###) ### ###",
|
||||
"+995#########",
|
||||
"0 ### ### ###",
|
||||
"+995 32 ### ## ##",
|
||||
"+995 34# ### ###",
|
||||
"+995 (34#) ### ###",
|
||||
"0 32 ### ## ##",
|
||||
"0 34# ### ###",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,30 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
"02-####-####",
|
||||
"031-###-####",
|
||||
"032-###-####",
|
||||
"033-###-####",
|
||||
"041-###-####",
|
||||
"042-###-####",
|
||||
"043-###-####",
|
||||
"044-###-####",
|
||||
"051-###-####",
|
||||
"052-###-####",
|
||||
"053-###-####",
|
||||
"054-###-####",
|
||||
"055-###-####",
|
||||
"061-###-####",
|
||||
"062-###-####",
|
||||
"063-###-####",
|
||||
"064-7##-####",
|
||||
"010-####-####",
|
||||
"011-###-####",
|
||||
"016-###-####",
|
||||
"017-###-####",
|
||||
"018-###-####",
|
||||
"019-###-####",
|
||||
"070-####-####",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,9 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
"+370 ########",
|
||||
"+(370) ########",
|
||||
"+370########",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,9 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
"+371 ########",
|
||||
"+(371) ########",
|
||||
"+371########",
|
||||
)
|
||||
Binary file not shown.
@@ -0,0 +1,11 @@
|
||||
from .. import Provider as PhoneNumberProvider
|
||||
|
||||
|
||||
class Provider(PhoneNumberProvider):
|
||||
formats = (
|
||||
"+977 ##########",
|
||||
"+977 ### #######",
|
||||
"984#######",
|
||||
"985#######",
|
||||
"980#######",
|
||||
)
|
||||
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user