Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/faker/providers/address/en_US/__init__.py: 59%
65 statements
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
1from collections import OrderedDict
2from typing import Optional
4from ..en import Provider as AddressProvider
7class Provider(AddressProvider):
8 city_prefixes = ("North", "East", "West", "South", "New", "Lake", "Port")
10 city_suffixes = (
11 "town",
12 "ton",
13 "land",
14 "ville",
15 "berg",
16 "burgh",
17 "borough",
18 "bury",
19 "view",
20 "port",
21 "mouth",
22 "stad",
23 "furt",
24 "chester",
25 "mouth",
26 "fort",
27 "haven",
28 "side",
29 "shire",
30 )
32 building_number_formats = ("#####", "####", "###")
34 street_suffixes = (
35 "Alley",
36 "Avenue",
37 "Branch",
38 "Bridge",
39 "Brook",
40 "Brooks",
41 "Burg",
42 "Burgs",
43 "Bypass",
44 "Camp",
45 "Canyon",
46 "Cape",
47 "Causeway",
48 "Center",
49 "Centers",
50 "Circle",
51 "Circles",
52 "Cliff",
53 "Cliffs",
54 "Club",
55 "Common",
56 "Corner",
57 "Corners",
58 "Course",
59 "Court",
60 "Courts",
61 "Cove",
62 "Coves",
63 "Creek",
64 "Crescent",
65 "Crest",
66 "Crossing",
67 "Crossroad",
68 "Curve",
69 "Dale",
70 "Dam",
71 "Divide",
72 "Drive",
73 "Drive",
74 "Drives",
75 "Estate",
76 "Estates",
77 "Expressway",
78 "Extension",
79 "Extensions",
80 "Fall",
81 "Falls",
82 "Ferry",
83 "Field",
84 "Fields",
85 "Flat",
86 "Flats",
87 "Ford",
88 "Fords",
89 "Forest",
90 "Forge",
91 "Forges",
92 "Fork",
93 "Forks",
94 "Fort",
95 "Freeway",
96 "Garden",
97 "Gardens",
98 "Gateway",
99 "Glen",
100 "Glens",
101 "Green",
102 "Greens",
103 "Grove",
104 "Groves",
105 "Harbor",
106 "Harbors",
107 "Haven",
108 "Heights",
109 "Highway",
110 "Hill",
111 "Hills",
112 "Hollow",
113 "Inlet",
114 "Inlet",
115 "Island",
116 "Island",
117 "Islands",
118 "Islands",
119 "Isle",
120 "Isle",
121 "Junction",
122 "Junctions",
123 "Key",
124 "Keys",
125 "Knoll",
126 "Knolls",
127 "Lake",
128 "Lakes",
129 "Land",
130 "Landing",
131 "Lane",
132 "Light",
133 "Lights",
134 "Loaf",
135 "Lock",
136 "Locks",
137 "Locks",
138 "Lodge",
139 "Lodge",
140 "Loop",
141 "Mall",
142 "Manor",
143 "Manors",
144 "Meadow",
145 "Meadows",
146 "Mews",
147 "Mill",
148 "Mills",
149 "Mission",
150 "Mission",
151 "Motorway",
152 "Mount",
153 "Mountain",
154 "Mountain",
155 "Mountains",
156 "Mountains",
157 "Neck",
158 "Orchard",
159 "Oval",
160 "Overpass",
161 "Park",
162 "Parks",
163 "Parkway",
164 "Parkways",
165 "Pass",
166 "Passage",
167 "Path",
168 "Pike",
169 "Pine",
170 "Pines",
171 "Place",
172 "Plain",
173 "Plains",
174 "Plains",
175 "Plaza",
176 "Plaza",
177 "Point",
178 "Points",
179 "Port",
180 "Port",
181 "Ports",
182 "Ports",
183 "Prairie",
184 "Prairie",
185 "Radial",
186 "Ramp",
187 "Ranch",
188 "Rapid",
189 "Rapids",
190 "Rest",
191 "Ridge",
192 "Ridges",
193 "River",
194 "Road",
195 "Road",
196 "Roads",
197 "Roads",
198 "Route",
199 "Row",
200 "Rue",
201 "Run",
202 "Shoal",
203 "Shoals",
204 "Shore",
205 "Shores",
206 "Skyway",
207 "Spring",
208 "Springs",
209 "Springs",
210 "Spur",
211 "Spurs",
212 "Square",
213 "Square",
214 "Squares",
215 "Squares",
216 "Station",
217 "Station",
218 "Stravenue",
219 "Stravenue",
220 "Stream",
221 "Stream",
222 "Street",
223 "Street",
224 "Streets",
225 "Summit",
226 "Summit",
227 "Terrace",
228 "Throughway",
229 "Trace",
230 "Track",
231 "Trafficway",
232 "Trail",
233 "Trail",
234 "Tunnel",
235 "Tunnel",
236 "Turnpike",
237 "Turnpike",
238 "Underpass",
239 "Union",
240 "Unions",
241 "Valley",
242 "Valleys",
243 "Via",
244 "Viaduct",
245 "View",
246 "Views",
247 "Village",
248 "Village",
249 "Villages",
250 "Ville",
251 "Vista",
252 "Vista",
253 "Walk",
254 "Walks",
255 "Wall",
256 "Way",
257 "Ways",
258 "Well",
259 "Wells",
260 )
262 postcode_formats = ("#####", "#####-####")
264 states = (
265 "Alabama",
266 "Alaska",
267 "Arizona",
268 "Arkansas",
269 "California",
270 "Colorado",
271 "Connecticut",
272 "Delaware",
273 "Florida",
274 "Georgia",
275 "Hawaii",
276 "Idaho",
277 "Illinois",
278 "Indiana",
279 "Iowa",
280 "Kansas",
281 "Kentucky",
282 "Louisiana",
283 "Maine",
284 "Maryland",
285 "Massachusetts",
286 "Michigan",
287 "Minnesota",
288 "Mississippi",
289 "Missouri",
290 "Montana",
291 "Nebraska",
292 "Nevada",
293 "New Hampshire",
294 "New Jersey",
295 "New Mexico",
296 "New York",
297 "North Carolina",
298 "North Dakota",
299 "Ohio",
300 "Oklahoma",
301 "Oregon",
302 "Pennsylvania",
303 "Rhode Island",
304 "South Carolina",
305 "South Dakota",
306 "Tennessee",
307 "Texas",
308 "Utah",
309 "Vermont",
310 "Virginia",
311 "Washington",
312 "West Virginia",
313 "Wisconsin",
314 "Wyoming",
315 )
316 states_abbr = (
317 "AL",
318 "AK",
319 "AZ",
320 "AR",
321 "CA",
322 "CO",
323 "CT",
324 "DE",
325 "DC",
326 "FL",
327 "GA",
328 "HI",
329 "ID",
330 "IL",
331 "IN",
332 "IA",
333 "KS",
334 "KY",
335 "LA",
336 "ME",
337 "MD",
338 "MA",
339 "MI",
340 "MN",
341 "MS",
342 "MO",
343 "MT",
344 "NE",
345 "NV",
346 "NH",
347 "NJ",
348 "NM",
349 "NY",
350 "NC",
351 "ND",
352 "OH",
353 "OK",
354 "OR",
355 "PA",
356 "RI",
357 "SC",
358 "SD",
359 "TN",
360 "TX",
361 "UT",
362 "VT",
363 "VA",
364 "WA",
365 "WV",
366 "WI",
367 "WY",
368 )
370 states_postcode = {
371 "AL": (35004, 36925),
372 "AK": (99501, 99950),
373 "AZ": (85001, 86556),
374 "AR": (71601, 72959),
375 "CA": (90001, 96162),
376 "CO": (80001, 81658),
377 "CT": (6001, 6389),
378 "DE": (19701, 19980),
379 "DC": (20001, 20039),
380 "FL": (32004, 34997),
381 "GA": (30001, 31999),
382 "HI": (96701, 96898),
383 "ID": (83201, 83876),
384 "IL": (60001, 62999),
385 "IN": (46001, 47997),
386 "IA": (50001, 52809),
387 "KS": (66002, 67954),
388 "KY": (40003, 42788),
389 "LA": (70001, 71232),
390 "ME": (3901, 4992),
391 "MD": (20812, 21930),
392 "MA": (1001, 2791),
393 "MI": (48001, 49971),
394 "MN": (55001, 56763),
395 "MS": (38601, 39776),
396 "MO": (63001, 65899),
397 "MT": (59001, 59937),
398 "NE": (68001, 68118),
399 "NV": (88901, 89883),
400 "NH": (3031, 3897),
401 "NJ": (7001, 8989),
402 "NM": (87001, 88441),
403 "NY": (10001, 14905),
404 "NC": (27006, 28909),
405 "ND": (58001, 58856),
406 "OH": (43001, 45999),
407 "OK": (73001, 73199),
408 "OR": (97001, 97920),
409 "PA": (15001, 19640),
410 "RI": (2801, 2940),
411 "SC": (29001, 29948),
412 "SD": (57001, 57799),
413 "TN": (37010, 38589),
414 "TX": (75503, 79999),
415 "UT": (84001, 84784),
416 "VT": (5001, 5495),
417 "VA": (22001, 24658),
418 "WA": (98001, 99403),
419 "WV": (24701, 26886),
420 "WI": (53001, 54990),
421 "WY": (82001, 83128),
422 }
424 territories_abbr = (
425 "AS",
426 "FM",
427 "GU",
428 "MH",
429 "MP",
430 "PW",
431 "PR",
432 "VI",
433 )
435 states_and_territories_abbr = states_abbr + territories_abbr
437 military_state_abbr = ("AE", "AA", "AP")
439 military_ship_prefix = ("USS", "USNS", "USNV", "USCGC")
441 military_apo_format = "PSC ####, Box ####"
443 military_dpo_format = "Unit #### Box ####"
445 city_formats = (
446 "{{city_prefix}} {{first_name}}{{city_suffix}}",
447 "{{city_prefix}} {{first_name}}",
448 "{{first_name}}{{city_suffix}}",
449 "{{last_name}}{{city_suffix}}",
450 )
452 street_name_formats = (
453 "{{first_name}} {{street_suffix}}",
454 "{{last_name}} {{street_suffix}}",
455 )
457 street_address_formats = (
458 "{{building_number}} {{street_name}}",
459 "{{building_number}} {{street_name}} {{secondary_address}}",
460 )
462 address_formats = OrderedDict(
463 (
464 ("{{street_address}}\n{{city}}, {{state_abbr}} {{postcode}}", 25.0),
465 # military address formatting.
466 ("{{military_apo}}\nAPO {{military_state}} {{postcode}}", 1.0),
467 (
468 "{{military_ship}} {{last_name}}\nFPO {{military_state}} {{postcode}}",
469 1.0,
470 ),
471 ("{{military_dpo}}\nDPO {{military_state}} {{postcode}}", 1.0),
472 )
473 )
475 secondary_address_formats = ("Apt. ###", "Suite ###")
477 def city_prefix(self) -> str:
478 return self.random_element(self.city_prefixes)
480 def secondary_address(self) -> str:
481 return self.numerify(self.random_element(self.secondary_address_formats))
483 def administrative_unit(self) -> str:
484 return self.random_element(self.states)
486 state = administrative_unit
488 def state_abbr(self, include_territories: bool = True) -> str:
489 """
490 :returns: A random state or territory abbreviation.
492 :param include_territories: If True, territories will be included.
493 If False, only states will be returned.
494 """
495 if include_territories:
496 return self.random_element(self.states_and_territories_abbr)
497 return self.random_element(self.states_abbr)
499 def postcode(self) -> str:
500 return "%05d" % self.generator.random.randint(501, 99950)
502 def zipcode_plus4(self) -> str:
503 return "%s-%04d" % (self.zipcode(), self.generator.random.randint(1, 9999))
505 def postcode_in_state(self, state_abbr: Optional[str] = None) -> str:
506 """
507 :returns: A random postcode within the provided state abbreviation
509 :param state_abbr: A state abbreviation
510 """
511 if state_abbr is None:
512 state_abbr = self.random_element(self.states_abbr)
514 if state_abbr in self.states_abbr:
515 postcode = "%d" % (
516 self.generator.random.randint(
517 self.states_postcode[state_abbr][0],
518 self.states_postcode[state_abbr][1],
519 )
520 )
522 if len(postcode) == 4:
523 postcode = "0%s" % postcode
525 return postcode
527 else:
528 raise Exception("State Abbreviation not found in list")
530 def military_ship(self) -> str:
531 """
532 :example: 'USS'
533 """
534 return self.random_element(self.military_ship_prefix)
536 def military_state(self) -> str:
537 """
538 :example: 'APO'
539 """
540 return self.random_element(self.military_state_abbr)
542 def military_apo(self) -> str:
543 """
544 :example: 'PSC 5394 Box 3492
545 """
546 return self.numerify(self.military_apo_format)
548 def military_dpo(self) -> str:
549 """
550 :example: 'Unit 3333 Box 9342'
551 """
552 return self.numerify(self.military_dpo_format)
554 # Aliases
555 def zipcode(self) -> str:
556 return self.postcode()
558 def zipcode_in_state(self, state_abbr: Optional[str] = None) -> str:
559 return self.postcode_in_state(state_abbr)
561 def postalcode(self) -> str:
562 return self.postcode()
564 def postalcode_in_state(self, state_abbr: Optional[str] = None) -> str:
565 return self.postcode_in_state(state_abbr)
567 def postalcode_plus4(self) -> str:
568 return self.zipcode_plus4()