Skip to content

Commit 2027d49

Browse files
committed
break up scraping jobs to make things slightly more maintainable
Signed-off-by: John Seekins <[email protected]>
1 parent 24c8733 commit 2027d49

File tree

11 files changed

+1007
-935
lines changed

11 files changed

+1007
-935
lines changed

field_offices.py

Lines changed: 0 additions & 176 deletions
This file was deleted.

ice_scrapers/__init__.py

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
"""
2+
Import order here is a touch weird, but we need it so
3+
types exist before attempting to import functions that
4+
may call them
5+
"""
6+
7+
# extracted ADP sheet header list 2025-09-07
8+
facility_sheet_header = [
9+
"Name",
10+
"Address",
11+
"City",
12+
"State",
13+
"Zip",
14+
"AOR",
15+
"Type Detailed",
16+
"Male/Female",
17+
"FY25 ALOS",
18+
"Level A",
19+
"Level B",
20+
"Level C",
21+
"Level D",
22+
"Male Crim",
23+
"Male Non-Crim",
24+
"Female Crim",
25+
"Female Non-Crim",
26+
"ICE Threat Level 1",
27+
"ICE Threat Level 2",
28+
"ICE Threat Level 3",
29+
"No ICE Threat Level",
30+
"Mandatory",
31+
"Guaranteed Minimum",
32+
"Last Inspection Type",
33+
"Last Inspection End Date",
34+
"Pending FY25 Inspection",
35+
"Last Inspection Standard",
36+
"Last Final Rating",
37+
]
38+
39+
# extracted from https://www.ice.gov/doclib/detention/FY25_detentionStats08292025.xlsx 2025-09-07
40+
ice_facility_types = {
41+
"BOP": {
42+
"expanded_name": "Federal Bureau of Prisons",
43+
"description": "A facility operated by the Federal Bureau of Prisons",
44+
},
45+
"DIGSA": {
46+
"expanded_name": "Dedicated Intergovernmental Service Agreement",
47+
"description": "A publicly-owned facility operated by state/local government(s), or private contractors, in which ICE contracts to use all bed space via a Dedicated Intergovernmental Service Agreement; or facilities used by ICE pursuant to Inter-governmental Service Agreements, which house only ICE detainees – typically these are operated by private contractors pursuant to their agreements with local governments.",
48+
},
49+
"IGSA": {
50+
"expanded_name": "Intergovernmental Service Agreement",
51+
"description": "A publicly-owned facility operated by state/local government(s), or private contractors, in which ICE contracts for bed space via an Intergovernmental Service Agreement; or local jails used by ICE pursuant to Inter-governmental Service Agreements, which house both ICE and non-ICE detainees, typically county prisoners awaiting trial or serving short sentences, but sometimes also USMS prisoners.",
52+
},
53+
"SPC": {
54+
"expanded_name": "Service Processing Center",
55+
"description": "A facility owned by the government and staffed by a combination of federal and contract employees.",
56+
},
57+
"USMS": {
58+
"expanded_name": "United States Marshals Service",
59+
"description": "A facility primarily contracted with the USMS for housing of USMS detainees, in which ICE contracts with the USMS for bed space.",
60+
},
61+
# two keys for the same thing as it isn't consistently defined
62+
"USMSIGA": {
63+
"expanded_name": "United States Marshal Service Intergovernmental Agreement",
64+
"description": "A USMS Intergovernmental Agreement in which ICE agrees to utilize an already established US Marshal Service contract.",
65+
},
66+
"USMS IGA": {
67+
"expanded_name": "United States Marshal Service Intergovernmental Agreement",
68+
"description": "A USMS Intergovernmental Agreement in which ICE agrees to utilize an already established US Marshal Service contract.",
69+
},
70+
"USMS CDF": {
71+
"expanded_name": "United States Marshal Service Contract Detention Facility",
72+
"description": "Name derived from listing at https://www.vera.org/ice-detention-trends",
73+
},
74+
"CDF": {
75+
"expanded_name": "Contract Detention Facility",
76+
"description": "Name derived from listing at https://www.vera.org/ice-detention-trends",
77+
},
78+
}
79+
80+
from .utils import ( # noqa: E402
81+
clean_street, # noqa: F401
82+
update_facility, # noqa: F401
83+
)
84+
from .page_load import scrape_facilities # noqa: F401,E402
85+
from .spreadsheet_load import load_sheet # noqa: F401,E402
86+
from .field_offices import ( # noqa: E402
87+
merge_field_offices, # noqa: F401
88+
scrape_field_offices, # noqa: F401
89+
)

0 commit comments

Comments
 (0)