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

1from collections import OrderedDict 

2from typing import Optional 

3 

4from ..en import Provider as AddressProvider 

5 

6 

7class Provider(AddressProvider): 

8 city_prefixes = ("North", "East", "West", "South", "New", "Lake", "Port") 

9 

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 ) 

31 

32 building_number_formats = ("#####", "####", "###") 

33 

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 ) 

261 

262 postcode_formats = ("#####", "#####-####") 

263 

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 ) 

369 

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 } 

423 

424 territories_abbr = ( 

425 "AS", 

426 "FM", 

427 "GU", 

428 "MH", 

429 "MP", 

430 "PW", 

431 "PR", 

432 "VI", 

433 ) 

434 

435 states_and_territories_abbr = states_abbr + territories_abbr 

436 

437 military_state_abbr = ("AE", "AA", "AP") 

438 

439 military_ship_prefix = ("USS", "USNS", "USNV", "USCGC") 

440 

441 military_apo_format = "PSC ####, Box ####" 

442 

443 military_dpo_format = "Unit #### Box ####" 

444 

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 ) 

451 

452 street_name_formats = ( 

453 "{{first_name}} {{street_suffix}}", 

454 "{{last_name}} {{street_suffix}}", 

455 ) 

456 

457 street_address_formats = ( 

458 "{{building_number}} {{street_name}}", 

459 "{{building_number}} {{street_name}} {{secondary_address}}", 

460 ) 

461 

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 ) 

474 

475 secondary_address_formats = ("Apt. ###", "Suite ###") 

476 

477 def city_prefix(self) -> str: 

478 return self.random_element(self.city_prefixes) 

479 

480 def secondary_address(self) -> str: 

481 return self.numerify(self.random_element(self.secondary_address_formats)) 

482 

483 def administrative_unit(self) -> str: 

484 return self.random_element(self.states) 

485 

486 state = administrative_unit 

487 

488 def state_abbr(self, include_territories: bool = True) -> str: 

489 """ 

490 :returns: A random state or territory abbreviation. 

491 

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) 

498 

499 def postcode(self) -> str: 

500 return "%05d" % self.generator.random.randint(501, 99950) 

501 

502 def zipcode_plus4(self) -> str: 

503 return "%s-%04d" % (self.zipcode(), self.generator.random.randint(1, 9999)) 

504 

505 def postcode_in_state(self, state_abbr: Optional[str] = None) -> str: 

506 """ 

507 :returns: A random postcode within the provided state abbreviation 

508 

509 :param state_abbr: A state abbreviation 

510 """ 

511 if state_abbr is None: 

512 state_abbr = self.random_element(self.states_abbr) 

513 

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 ) 

521 

522 if len(postcode) == 4: 

523 postcode = "0%s" % postcode 

524 

525 return postcode 

526 

527 else: 

528 raise Exception("State Abbreviation not found in list") 

529 

530 def military_ship(self) -> str: 

531 """ 

532 :example: 'USS' 

533 """ 

534 return self.random_element(self.military_ship_prefix) 

535 

536 def military_state(self) -> str: 

537 """ 

538 :example: 'APO' 

539 """ 

540 return self.random_element(self.military_state_abbr) 

541 

542 def military_apo(self) -> str: 

543 """ 

544 :example: 'PSC 5394 Box 3492 

545 """ 

546 return self.numerify(self.military_apo_format) 

547 

548 def military_dpo(self) -> str: 

549 """ 

550 :example: 'Unit 3333 Box 9342' 

551 """ 

552 return self.numerify(self.military_dpo_format) 

553 

554 # Aliases 

555 def zipcode(self) -> str: 

556 return self.postcode() 

557 

558 def zipcode_in_state(self, state_abbr: Optional[str] = None) -> str: 

559 return self.postcode_in_state(state_abbr) 

560 

561 def postalcode(self) -> str: 

562 return self.postcode() 

563 

564 def postalcode_in_state(self, state_abbr: Optional[str] = None) -> str: 

565 return self.postcode_in_state(state_abbr) 

566 

567 def postalcode_plus4(self) -> str: 

568 return self.zipcode_plus4()