Coverage for /home/martinb/.local/share/virtualenvs/camcops/lib/python3.6/site-packages/faker/providers/address/en_US/__init__.py : 61%

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