warn-transformer 1.3.273__py3-none-any.whl → 1.3.302__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of warn-transformer might be problematic. Click here for more details.

@@ -4,18 +4,19 @@ from datetime import datetime
4
4
  from ..schema import BaseTransformer
5
5
 
6
6
 
7
+ # class Transformer:
7
8
  class Transformer(BaseTransformer):
8
9
  """Transform Connecticut raw data for consolidation."""
9
10
 
10
11
  postal_code = "CT"
11
12
  fields = dict(
12
13
  company="affected_company",
13
- location="layoff_location",
14
- notice_date="warn_date",
15
- effective_date="layoff_date",
16
- jobs="number_workers",
14
+ location="layoff_locations",
15
+ notice_date="warn_document_date",
16
+ effective_date="layoff_dates",
17
+ jobs="number_of_impacted_workers",
17
18
  )
18
- date_format = ["%m/%d/%Y", "%m/%d/%y", "%m-%d-%y", "%Y"]
19
+ date_format = ["%Y-%m-%d", "%Y-%m-%dT%H:%M:%S+00.00", "%m/%d/%Y", "%m-%d-%Y"]
19
20
  date_corrections = {
20
21
  "12/31/16-1/13/17": datetime(2016, 12, 31),
21
22
  "12/4/15-tbd": datetime(2015, 12, 4),
@@ -47,6 +48,78 @@ class Transformer(BaseTransformer):
47
48
  "9/92024": datetime(2024, 9, 9),
48
49
  "4/112025": datetime(2025, 4, 11),
49
50
  "3/31/2025,": datetime(2025, 3, 31),
51
+ "11/24/2025 - 4/1/2026": datetime(2025, 11, 24),
52
+ "February 15, 2025, through February 28, 2025": datetime(2025, 2, 15),
53
+ "April 12, 2025": datetime(2025, 4, 12),
54
+ "March 21, 2025": datetime(2025, 3, 21),
55
+ "8/2/2019, 12/13/2029": datetime(2019, 8, 2),
56
+ "June 29, 2025": datetime(2025, 6, 29),
57
+ "6/3/2023, 12/31/2023": datetime(2023, 6, 3),
58
+ "09/15/2020,12/17/2020": datetime(2020, 9, 15),
59
+ "03/28/2020, 04/01/2020": datetime(2020, 3, 28),
60
+ "June 10, 2025": datetime(2025, 6, 10),
61
+ "05/10/2020,05/23/2020": datetime(2020, 5, 10),
62
+ "August 23, 2024": datetime(2024, 8, 23),
63
+ "April 30, 2025. Additional layoffs are scheduled for June 20, 2025 and July 30, 2025": datetime(
64
+ 2025, 4, 30
65
+ ),
66
+ "April 25, 2025-July 3 1 , 2025.": datetime(2025, 4, 25),
67
+ "03/20/2020,04/03/2020,04/07/2020": datetime(2020, 3, 20),
68
+ "02/26/2022,03/11/2022": datetime(2022, 2, 26),
69
+ "December 2, 2025": datetime(2025, 12, 2),
70
+ "8/4/23, 9/1/23, 10/6/23, 11/3/23, 12/1/23, 1/5/24, 2/2/24, 2/16/24, 3/1/24, 3/29/24, 5/3/24, 5/31/24, 6/28/24, 9/15/24, 9/20/24, 9/27/24, 9/30/24, 12/6/24": datetime(
71
+ 2023, 8, 4
72
+ ),
73
+ "10/10/2020,10/23/2020": datetime(2020, 10, 10),
74
+ "June 7, 2025": datetime(2025, 6, 7),
75
+ "04/01/2020,06/30/2020": datetime(2020, 4, 1),
76
+ "February 10th, 2025 through February 24, 2025": datetime(2025, 2, 10),
77
+ "02 /01/2023 ,03/01/2023": datetime(2023, 2, 1),
78
+ "July 5th, 2024": datetime(2024, 7, 5),
79
+ "02/01/2023,03/01/2023": datetime(2023, 2, 1),
80
+ "7/15/2025, 7/29/2025": datetime(2025, 7, 15),
81
+ "12/8/24 through 12/21/24": datetime(2024, 12, 8),
82
+ "08/20/2023, 09/02/2023": datetime(2023, 8, 20),
83
+ "08/17/2020,08/30/2020": datetime(2020, 8, 17),
84
+ "3/10/2020,4/07/2020": datetime(2020, 3, 10),
85
+ "March 25, 2025": datetime(2025, 3, 25),
86
+ "03/25/2020,03/28/2020": datetime(2020, 3, 25),
87
+ "09/15/2023, 09/23/2023, 11/17/2023, 12/1/2023": datetime(2023, 9, 15),
88
+ "1/13/25, 2/13/25": datetime(2025, 1, 13),
89
+ "01/03/2020,05/30/2020": datetime(2020, 1, 3),
90
+ "05/01/2020,07/06/2020": datetime(2020, 5, 1),
91
+ "03/26/2020, 04/16/2020,05/10/2020": datetime(2020, 3, 26),
92
+ "3/13/2020, 3/20/2020, 4/6/2020,4/19/2020": datetime(2020, 3, 13),
93
+ "September 27, 2024": datetime(2024, 9, 27),
94
+ "09/08/2020,09/22/2020": datetime(2020, 9, 8),
95
+ "09/15/2020,03/17/2021": datetime(2020, 9, 15),
96
+ "03/23/2020, 03/26/2020": datetime(2020, 3, 23),
97
+ "12/20/2024, 1/31/25, 2/14/25, 2/21/25": datetime(2024, 12, 20),
98
+ "04/10/2020,04/22/2020": datetime(2020, 4, 10),
99
+ "10/12/2025 - 10/25/2025": datetime(2025, 10, 12),
100
+ "March, 2025": datetime(2025, 3, 1),
101
+ "5/17/24": datetime(2024, 5, 17),
102
+ "August 24, 2024": datetime(2024, 8, 24),
103
+ "10/21/2023, 10/28/2023, 11/04/2023, 11/18/2023, 11/25/2023, 12/30/2025": datetime(
104
+ 2023, 10, 21
105
+ ),
106
+ "04/14/2023, 05/13/2023 - 05/27/2023, 06/12/2023-08/11/2023, 06/12/2023-06/26/2023": datetime(
107
+ 2023, 4, 14
108
+ ),
109
+ "8/2/2019-12/31/2019": datetime(2019, 8, 2),
110
+ "9/21/2025 - 10/4/2025": datetime(2025, 9, 21),
111
+ "January 25, 2025 through February 7, 2025": datetime(2025, 1, 25),
112
+ "March 31, 2025, June 30, 2025, and September 30, 2025": datetime(2025, 3, 31),
113
+ "4/2/24": datetime(2024, 4, 2),
114
+ "9/9/24": datetime(2024, 9, 9),
115
+ "5/15/24": datetime(2024, 5, 15),
116
+ "3/22/25": datetime(2025, 3, 22),
117
+ "5/31/24": datetime(2024, 5, 31),
118
+ "10/2/23": datetime(2023, 10, 2),
119
+ "0025-05-16": datetime(2025, 5, 16),
120
+ "0024-05-31": datetime(2024, 5, 31),
121
+ "0005-02-04": datetime(2025, 2, 4),
122
+ "12/28/22025": datetime(2025, 12, 28),
50
123
  }
51
124
  jobs_corrections = {
52
125
  "up to 703": 703,
@@ -79,6 +152,10 @@ class Transformer(BaseTransformer):
79
152
  "55 total: 1 CT resident": 1,
80
153
  "131 total; 92 CT residents": 92,
81
154
  "80 Total; 4 CT": 4,
155
+ "66; #CT workers not indicated": None,
156
+ "": None,
157
+ "113,": 113,
158
+ "Greenwich": None, # Not my circus, not my monkeys
82
159
  }
83
160
 
84
161
  def transform_date(self, value: str) -> typing.Optional[str]:
@@ -107,12 +184,13 @@ class Transformer(BaseTransformer):
107
184
  value = value.strip().split()[0].strip()
108
185
  return super().transform_date(value)
109
186
 
110
- def check_if_closure(self, row: typing.Dict) -> typing.Optional[bool]:
111
- """Determine whether a row is a closure or not.
112
-
113
- Args:
114
- row (dict): The raw row of data.
115
187
 
116
- Returns: A boolean or null
117
- """
118
- return "yes" in row["closing"].lower() or None
188
+ # def check_if_closure(self, row: typing.Dict) -> typing.Optional[bool]:
189
+ # """Determine whether a row is a closure or not.
190
+ #
191
+ # Args:
192
+ # row (dict): The raw row of data.
193
+ #
194
+ # Returns: A boolean or null
195
+ # """
196
+ # return "yes" in row["closing"].lower() or None
@@ -45,8 +45,18 @@ class Transformer(BaseTransformer):
45
45
  "Various dates through June 30, 2025": datetime(2025, 6, 30),
46
46
  "July 31 through August 28, 2025": datetime(2025, 7, 31),
47
47
  "September 30 through December 30, 2025": datetime(2025, 9, 30),
48
+ "Various Dates through June 29, 2025": datetime(2025, 6, 29),
49
+ "Various Dates through September 28, 2025": datetime(2025, 9, 28),
50
+ "Various Dates through November2, 2025": datetime(2025, 11, 2),
51
+ "Various Dates through November 2, 2025": datetime(2025, 11, 2),
52
+ "September 30 through September 28, 2025": datetime(2025, 9, 30), # What?
53
+ "March 14, 2025 through April 30, 2025": datetime(2025, 3, 14),
48
54
  }
49
55
  jobs_corrections = {
50
56
  "All": None,
51
57
  "TBD": None,
58
+ "45 (amended)": 45,
59
+ "63 (amended)": 63,
60
+ "54 (amended)": 54,
61
+ "46 (amended)": 46,
52
62
  }
@@ -10,13 +10,13 @@ class Transformer(BaseTransformer):
10
10
 
11
11
  postal_code = "KY"
12
12
  fields = dict(
13
- company="Company Name",
14
- location="County",
15
- notice_date="Date Received",
16
- effective_date="Projected Date",
17
- jobs="Employees",
13
+ company="company",
14
+ location="county",
15
+ notice_date="date_effective",
16
+ effective_date="date_received",
17
+ jobs="employees",
18
18
  )
19
- date_format = "%Y-%m-%d %H:%M:%S"
19
+ date_format = ["%Y-%m-%d %H:%M:%S", "%m/%d/%Y"]
20
20
  minimum_year = 1997
21
21
  date_corrections = {
22
22
  "43490.0": None,
@@ -174,6 +174,10 @@ class Transformer(BaseTransformer):
174
174
  "03/19/2012 - 04/01/2012": datetime.datetime(2012, 3, 19),
175
175
  "2041-06-04 00:00:00": datetime.datetime(2014, 6, 4),
176
176
  "04/05/2015": datetime.datetime(2015, 4, 5),
177
+ "2026-12-31 00:00:00": datetime.datetime(2026, 12, 31),
178
+ "1/8/2026": datetime.datetime(2026, 1, 8),
179
+ "10/20/2025": datetime.datetime(2025, 10, 20),
180
+ "12/31/2026": datetime.datetime(2026, 12, 31),
177
181
  }
178
182
  jobs_corrections = {
179
183
  "?": None,
@@ -279,7 +283,7 @@ class Transformer(BaseTransformer):
279
283
 
280
284
  Returns: A boolean or null
281
285
  """
282
- if "closure" in row["Closure or Layoff?"].lower():
286
+ if "closure" in row["closure_or_layoff"].lower():
283
287
  return True
284
288
  else:
285
289
  return None
@@ -50,6 +50,7 @@ class Transformer(BaseTransformer):
50
50
  "6/30/204": datetime(2024, 6, 30),
51
51
  "7/24/1969": datetime(2024, 7, 24),
52
52
  "517112": None,
53
+ "01/301/2026": datetime(2026, 1, 31),
53
54
  }
54
55
  jobs_corrections = {
55
56
  "103 (REVISED) 10/22/2020 108": 103,
@@ -70,4 +71,5 @@ class Transformer(BaseTransformer):
70
71
  "N/A": None,
71
72
  "9 50": 59,
72
73
  "3 (remote workers from MD)": 3,
74
+ "50 - 60": 50,
73
75
  }
@@ -1,22 +1,555 @@
1
1
  import typing
2
+ from datetime import datetime
2
3
 
3
4
  from ..schema import BaseTransformer
4
5
 
5
6
 
6
7
  class Transformer(BaseTransformer):
8
+ # class Transformer:
7
9
  """Transform Michigan raw data for consolidation."""
8
10
 
9
11
  postal_code = "MI"
10
12
  fields = dict(
11
- company="Company Name",
12
- location="City",
13
- notice_date="Date Received",
14
- jobs="Number of Layoffs",
13
+ company="company",
14
+ location="city", # Should it be county? Concatenate with county?
15
+ effective_date="date_start",
16
+ jobs="jobs",
15
17
  )
16
- date_format = "%m/%d/%Y"
18
+ date_format = ["%m/%d/%Y", "%B %d, %Y", "%B %d, %y"]
19
+ date_corrections = {
20
+ "June 17, 2024 - July 31, 2024": datetime(2024, 6, 17),
21
+ "Commencing June 2025": datetime(2025, 6, 1),
22
+ "Beginning April 12, 2025": datetime(2025, 4, 12),
23
+ "June 30, 2024 (approximate)": datetime(2024, 6, 30),
24
+ "Beginning February 2, 2025": datetime(2025, 2, 2),
25
+ "Beginning April 21, 2025": datetime(2025, 4, 21),
26
+ "Beginning February 6, 2025": datetime(2025, 2, 6),
27
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020c/2020-07-27_WARN_VitalCare-Inc.pdf?rev=2ebd10fd57e240d59dac5b47034fa3d7": datetime(
28
+ 2020, 9, 27
29
+ ),
30
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-04-13_WARN_Entergy-Palisades-Nuclear-Plant.pdf?rev=de7ed4d284db41d988eb68a37fc7d3dc": datetime(
31
+ 2022, 6, 24
32
+ ),
33
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-09-16_WARN_Second-Samuel-Transport.pdf?rev=fb102bdb5a3b4c9abf8b9c2b114cc430": datetime(
34
+ 2022, 11, 8
35
+ ),
36
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-04-21_WARN_Dawson-Manufacturing-Company.pdf?rev=84268e047a3c4dd08b09c0c07147e005": datetime(
37
+ 2023, 7, 1
38
+ ),
39
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-05-01_WARN_Lear-Corporation_Davison-Plant.pdf?rev=3447f62a22a241c1b70275d329b1a107": datetime(
40
+ 2023, 6, 30
41
+ ),
42
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-09-29_WARN_DETDSP.pdf?rev=b38245c99c10431cbc8a564159b41923": datetime(
43
+ 2022, 9, 30
44
+ ),
45
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-12-14_WARN_Amerifirst-Home-Mortgage.pdf?rev=ac28b0672bf8485d9499f7653a26a305": datetime(
46
+ 2023, 2, 12
47
+ ),
48
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-01-23_WARN-Notice_Concentrix-Corporation.pdf?rev=64fad446edf444299d1061dc7700d7da": datetime(
49
+ 2023, 3, 31
50
+ ),
51
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-06-02_WARN_Notice_-Shiloh-Industries.pdf?rev=ff420ba2087f4fabbe6e05b03fc67da0": datetime(
52
+ 2023, 5, 23
53
+ ),
54
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-03-23_WARN-Notice_Rapid-Financial-Services-LLC.pdf?rev=3f2bcea9c62c45ada943037fff88f2a6": datetime(
55
+ 2023, 3, 17
56
+ ),
57
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-02-16_WARN_Peloton.pdf?rev=b6d05142a1e640a099bdb903f7135a1a": datetime(
58
+ 2022, 2, 8
59
+ ),
60
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-10-12_FCA-US-Warren-Truck-Assembly-Plant/2022-10-12_WARN_FCA-US-Warren-Truck-Assembly-Plant.pdf?rev=5bf9398797a1405c94856c64e31a71f6": datetime(
61
+ 2022, 12, 12
62
+ ), # Date is in the ballpark
63
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-07-12_WARN_Henry-A-Fox-Sales.pdf?rev=66fb7946ed6d4f919b88779222275c22": datetime(
64
+ 2023, 9, 15
65
+ ),
66
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/Hertz_updated_WARN_Notice_5232020.pdf?rev=24ae228763964777aa21756b7610bdc1": datetime(
67
+ 2020, 5, 20
68
+ ),
69
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200420_Williams_Intl_WARN.pdf?rev=7508e61f18ea42fea38bd745284287e2": datetime(
70
+ 2020, 4, 13
71
+ ),
72
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2021/2021_01-08_UAW_Chrysler_WARN.pdf?rev=675c529eb9744dbd84b5dbf0dbfc473c": None,
73
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200430_Hertz_WARN.pdf?rev=e4d1304ab6d949ef8a923bc1de815712": datetime(
74
+ 2020, 4, 14
75
+ ),
76
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200709_Holiday_Inn_GR_WARN_Notice.pdf?rev=4b1829c8c5a241bf96cdd3074c6e7809": datetime(
77
+ 2020, 6, 30
78
+ ),
79
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-07-20_MotorCity_Casino_Hotel_WARN.pdf?rev=d4dc8ded496248eebb01fbc226293eea": datetime(
80
+ 2020, 9, 15
81
+ ),
82
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200413_Four_Winds_Casinos_WARN.pdf?rev=4f85faa7faf64383bdec07461980ee41": datetime(
83
+ 2020, 4, 13
84
+ ),
85
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200618_Staples_WARN_Notice.pdf?rev=5ced945de3c24dd9969524b776a78750": datetime(
86
+ 2020, 6, 19
87
+ ),
88
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-08-17_HMSHost_WARN_no_names.pdf?rev=677f45d598ee483ba69b4842dcdf6e5d": datetime(
89
+ 2020, 10, 15
90
+ ),
91
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200408_Pace_Industrices_WARN.pdf?rev=b2a38964abc344eaa1b8d5e1beff0b22": datetime(
92
+ 2020, 3, 22
93
+ ),
94
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200604_Westin_Book_Caddillac_WARN.pdf?rev=4b08e40a021f444e97432f296cbb4b83": datetime(
95
+ 2020, 3, 21
96
+ ),
97
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-11-19_MGM_Grand_Detroit_WARN.pdf?rev=8f6aaf7a01834b298f2df036b5909a21": datetime(
98
+ 2020, 11, 18
99
+ ),
100
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020c/20200811_Sky_Chefs_DTW_WARN_Notice.pdf?rev=74236f79de634cb3ae4221a53c756417": datetime(
101
+ 2020, 10, 1
102
+ ),
103
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200409_ProspectWARN.pdf?rev=410a938ee47d42d992125301b4ec9ad3": datetime(
104
+ 2020, 3, 19
105
+ ),
106
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200423_Visionworks_WARN.pdf?rev=5fefb05a4a1a44c58a927465ed43eacc": datetime(
107
+ 2020, 4, 4
108
+ ),
109
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-09-02_WARN_-_Orlans_PC.pdf?rev=d7ceffa7bd9d4adb9926930530d9df54": datetime(
110
+ 2020, 9, 23
111
+ ),
112
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-09-03_Greektown_Casino-Hotel_WARN.pdf?rev=69f46393da7d4ee18ca8364cebb20935": datetime(
113
+ 2020, 9, 28
114
+ ),
115
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200601_Wireless_Vision_WARN.pdf?rev=5e66806e04b0428baeba7d8f9fdcc8f4": datetime(
116
+ 2020, 4, 30
117
+ ),
118
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200420_Marsh_Plating_WARN.pdf?rev=754d8a1a3dcb4337a2735cb926521f4d": datetime(
119
+ 2020, 3, 24
120
+ ),
121
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020c/2020-09-17_Tennaco_WARN.pdf?rev=e36528ccfe13487eb5e9c8b82b894fc9": datetime(
122
+ 2021, 6, 15
123
+ ), # ish
124
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020_WARN_Notice_State_V2.pdf?rev=e5640aaf018944f1846ac0420b83ebe6": datetime(
125
+ 2020, 3, 24
126
+ ),
127
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200409_Precision_Vehicle_Solutions_WARN.pdf?rev=a7d1de1a6ce74471b6bd7d0335d4fb1b": datetime(
128
+ 2020, 3, 20
129
+ ),
130
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200518_Grand_River_Polishing_WARN.pdf?rev=2e28eaa7cfdd48cea05b018b475f3437": datetime(
131
+ 2020, 3, 20
132
+ ),
133
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200420_Tilden_Mining_WARN.pdf?rev=6344a21d47d74208b0bffe141ec3b6ca": datetime(
134
+ 2020, 4, 26
135
+ ),
136
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-09-24_SP_Plus_Corp_WARN_Notice.pdf?rev=b304f366d9924cc58330b6182da808ca": datetime(
137
+ 2020, 3, 23
138
+ ),
139
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020c/20200709_TownePlace_WARN_Notice.pdf?rev=822b4ac3a2d9482d9d0fab825a56b0b6": datetime(
140
+ 2020, 3, 13
141
+ ), # ish
142
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200409_Morbark_WARN.pdf?rev=95e72c91fb6a4f3fa59a04c837a40c24": datetime(
143
+ 2020, 4, 7
144
+ ),
145
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-12-15_Updated_RustyBucket_WARN.pdf?rev=0b6c40673ef344d8811075dad1703b1d": datetime(
146
+ 2020, 11, 18
147
+ ),
148
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020c/2020-11-24_MotorCity_Casino_WARN.pdf?rev=04de99f317824c8696aaa7627a9efb45": datetime(
149
+ 2020, 11, 18
150
+ ),
151
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-12-05_Tech_Mahindra_WARN.pdf?rev=b8f9eb6d6d8340938780c83296b3f1bc": datetime(
152
+ 2021, 1, 6
153
+ ),
154
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200602_Westin_Detroit_Metro_Airport_WARN_Notice.pdf?rev=d6681916f045487a9887f709c9dafe3c": datetime(
155
+ 2020, 5, 18
156
+ ),
157
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200604_Marriott_Hotel_Services_WARN.pdf?rev=1ebedde528234cbeac7e2610f8521dc2": datetime(
158
+ 2020, 3, 25
159
+ ),
160
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200520_Townsend_Hotel_WARN.pdf?rev=afcf5ccc7de54350996bfb9bdddba0df": datetime(
161
+ 2020, 3, 16
162
+ ),
163
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020c/2020-09-18_PF_Changs_China_Bistro_WARN_Notice.pdf?rev=43f467ed95bb41eba26d275471056588": datetime(
164
+ 2020, 3, 13
165
+ ), # ish
166
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/Davids-Bridal/2023-06-29_WARN_Davids_Bridal.pdf?rev=3ca5f1125826490eb4e5fc156acf661f": datetime(
167
+ 2023, 7, 17
168
+ ),
169
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-09-30_Kroger_WARN.pdf?rev=0e5d4200b97946a9bec77381233a0fc2": datetime(
170
+ 2020, 11, 28
171
+ ),
172
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020c/20200709_Hilton_Garden_Inn_WARN_Notice.pdf?rev=5e94c1549c794842a2fb30c17be8f55e": datetime(
173
+ 2020, 6, 30
174
+ ),
175
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200506_Great_Lakes_Specialty_Finance_WARN.pdf?rev=c8342ca76f3f474faf5d17320e8bd0c5": datetime(
176
+ 2020, 5, 1
177
+ ),
178
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200512_Marriott_Detroit_Livonia_WARN.pdf?rev=4de1917eb90c409fa6a588aa7227bf64": datetime(
179
+ 2020, 3, 18
180
+ ),
181
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020c/2020-08-24_Vetta_LLC_WARN.pdf?rev=0300f2738e514ac5a2f12c87fbff26f3": datetime(
182
+ 2020, 8, 17
183
+ ),
184
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200622_SwissportGerald_R_Ford_International_Airport_WARN.pdf?rev=06218d866b8c425399d825b436e40595": datetime(
185
+ 2020, 4, 25
186
+ ),
187
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2021/2021-03-08_WARN_JDNormanIndustries.pdf?rev=a00f3dadc0a9434db1ea76d4c4cd09bc": datetime(
188
+ 2021, 4, 30
189
+ ),
190
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200424_Punch_Bowl_Social_WARN.pdf?rev=1e2e11298d6b4c81b86580300a86ba13": datetime(
191
+ 2020, 3, 16
192
+ ),
193
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200616_JacobsenDaniels_WARN_Notice.pdf?rev=96fdd5f611b24316b1236751b3dda772": datetime(
194
+ 2020, 6, 12
195
+ ),
196
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200720_Leadec_WARN.pdf?rev=6b62fff17bf6480bbd9ea1177ab2bdf6": datetime(
197
+ 2020, 8, 31
198
+ ),
199
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200522_Marriott_Auburn_Hills_Pontiac_WARN.pdf?rev=a26034c66f5a4bf182b330817c9a5d63": datetime(
200
+ 2020, 5, 31
201
+ ),
202
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200723_MotorCity_Casino_Hotel_WARN.pdf?rev=87c44b485e0b4fb580d78947438bf5b6": datetime(
203
+ 2020, 7, 31
204
+ ),
205
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200409_Hooters_WARN.pdf?rev=74b227f87fbe42e18fd91eb91591c72d": datetime(
206
+ 2020, 3, 16
207
+ ),
208
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/Walbro_LLC__WARN_Notice_20200526.pdf?rev=f00602a0acd24b23ad6b472133473813": datetime(
209
+ 2020, 3, 24
210
+ ),
211
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-10-07_LansingEntertain_WARN.pdf?rev=e38d1d2729174751bc59da437085687f": datetime(
212
+ 2020, 4, 3
213
+ ),
214
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-12-21_NBHX_Trim_USA_WARN.pdf?rev=17ba9d4f9cb347de898c758c72000b08": datetime(
215
+ 2021, 1, 18
216
+ ),
217
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200505_MGM_Grand_WARN.pdf?rev=ff136f59e59b47e287ed6354ad6a9076": datetime(
218
+ 2020, 3, 2
219
+ ),
220
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200415_Wolverine_Corporation_WARN.pdf?rev=bea449562bf74a489ffd88ddd89d0d8f": datetime(
221
+ 2020, 4, 15
222
+ ),
223
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2021/2021-06-07_Progenity_WARN.pdf?rev=afc8e375123e42b9aab9b66779a3db40": datetime(
224
+ 2021, 8, 6
225
+ ),
226
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200716_3rdUpdated_IAC_Alma_WARN.pdf?rev=a26a934f69a2411ebe88b16e27d61829": datetime(
227
+ 2020, 7, 17
228
+ ),
229
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200424_Schafer_Woodworks_WARN.pdf?rev=5523b6e3e6a249ee97bfe59496b4c5aa": datetime(
230
+ 2020, 3, 24
231
+ ),
232
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200707_Updated_Spire_WARN.pdf?rev=6857a98b59e34c269d567657b00cd9e9": datetime(
233
+ 2020, 7, 1
234
+ ),
235
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020c/20200616_Jacobsen_Daniels_WARN_Notice.pdf?rev=58027249107a43ea9ec99918b7967c98": datetime(
236
+ 2020, 6, 12
237
+ ),
238
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-06-05_WARN_Notice_Advanced-Vehicle-Assemblies.pdf?rev=6102f06253c94135bba3d2f016d36d1e": datetime(
239
+ 2023, 7, 31
240
+ ),
241
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-11-10_WARN-Notice_PACE-Industries.pdf?rev=0d15eb4beda548afac06752cd6eb95da": datetime(
242
+ 2022, 12, 20
243
+ ),
244
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-01-17_WARN-Notice_Inteva-Products-Inc.pdf?rev=149555cccae9497cabc1bfcf356170cf": datetime(
245
+ 2023, 3, 4
246
+ ),
247
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-10-27_WARN_Argo-AI-LLC.pdf?rev=768a949046e540b3aec4d921444b5fab": datetime(
248
+ 2022, 11, 1
249
+ ),
250
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022_8-30_WARN_NBHX-TRIM-CORPORATION.pdf?rev=0b76d5cdf3e9464bac73f850deb3db62": datetime(
251
+ 2022, 10, 28
252
+ ),
253
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-01-25_WARN_Penske.pdf?rev=9713da5696034aed8f0dc595ad3ff31a": datetime(
254
+ 2022, 3, 26
255
+ ),
256
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-07-29_WARN_Resonetics-LLC.pdf?rev=4be61dae754d4fb18755cbff38319840": datetime(
257
+ 2022, 9, 30
258
+ ),
259
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-03-24_WARN-Notice_EYM-King-of-Michigan-LLC.pdf?rev=c5fc3cd263324266b2864653de8fa465": datetime(
260
+ 2023, 3, 17
261
+ ),
262
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/202261_Jervis-B-Webb-DAIFUKU-WARN-received-without-names.pdf?rev=8add1a8abac848278a041c01701b8c3c": datetime(
263
+ 2022, 8, 1
264
+ ),
265
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-06-30_WARN_FCA-US-LLC-Dundee-Engine-Plant.pdf?rev=98daaba691664f83823ea98bf4aa15a1": datetime(
266
+ 2023, 9, 3
267
+ ),
268
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-03-20_WARN-Notice_Prospect.pdf?rev=7e345588a17d4fb6976c128f6f3d9a36": datetime(
269
+ 2023, 5, 1
270
+ ),
271
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-10-04_WARN-Notice_Sodecia-Automotive.pdf?rev=b09c0f021b6d4f16a917c9f74a53a854": datetime(
272
+ 2023, 9, 25
273
+ ),
274
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-03-16_WARN-Notice_Function-Inc.pdf?rev=c0395c802e704be8b41d6ab5a98b7fd9": datetime(
275
+ 2023, 5, 14
276
+ ),
277
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-09-29_WARN-Notice_First-Savings-Bank.pdf?rev=d245687cb0664de68d23dbc4c4c0300f": datetime(
278
+ 2023, 11, 30
279
+ ),
280
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-10-31_WARN_Booking-com.pdf?rev=4c2c783399a14551897d70117b5ef4e6": datetime(
281
+ 2022, 12, 18
282
+ ),
283
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-01-06_WARN-Notice_Proper-Group-Holdings-LLC.pdf?rev=a6ed341e4a4241ca89f9c3bfd07b7181": datetime(
284
+ 2022, 11, 21
285
+ ),
286
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-02-03_WARN-Notice_Marshall-Excelsior.pdf?rev=0919930ebccc4b07b59af8743ceda3e7": datetime(
287
+ 2022, 12, 8
288
+ ),
289
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-09-05_WARN_Lordstown-Motors-Corp.pdf?rev=0ca41d2a142648ad919337dd63835bad": datetime(
290
+ 2023, 11, 4
291
+ ),
292
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-01-19_WARN-Notice_Brinks-Home.pdf?rev=e042374bf66e406ea7189ebccd39ddb5": datetime(
293
+ 2023, 3, 5
294
+ ),
295
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/20220719_WARN-received-Bon-Appetit_Hillsdale-College.pdf?rev=d1d9bdc96963432882758f5c140c07fb": datetime(
296
+ 2022, 8, 1
297
+ ),
298
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-04-06_WARN_Finlandia.pdf?rev=65b89d07b56d45739981a08e7d2e277e": datetime(
299
+ 2023, 3, 3
300
+ ),
301
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-03-16_WARN_Assemble-Rite-LTD.pdf?rev=3819d44e254640de836f949d84e52907": datetime(
302
+ 2022, 3, 27
303
+ ),
304
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-03-31_WARN-Notice_Sandler-Travis-Trade-Advisory-Services.pdf?rev=65f3993f841b4087ba33910365cdc8d7": datetime(
305
+ 2023, 5, 31
306
+ ),
307
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-09-15_WARN-Notice_Thriveworks.pdf?rev=17ceb50ea2a34937a7313f290bf9d364": datetime(
308
+ 2023, 11, 30
309
+ ),
310
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/20220509_MPHI---CICT-WARN.pdf?rev=863a6c54bd5c4a7385f2f4324b8d33ee": datetime(
311
+ 2022, 7, 1
312
+ ),
313
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/202266_MPT-WARN-received.pdf?rev=ef9a5e7decb745988e6fc1a324f8862b": datetime(
314
+ 2022, 7, 29
315
+ ),
316
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-05-02_FRS_WARN.PDF?rev=d55e644c4f254091a5283713ba97557c": datetime(
317
+ 2022, 7, 1
318
+ ),
319
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022_07-29_WARN_MV-Transportation.pdf?rev=e84e10351c474b50a4883ba0bb6923af": datetime(
320
+ 2022, 9, 30
321
+ ),
322
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-09-13_WARN_Power-Home-Solar-LLC.pdf?rev=bf1e1f671053408b8ea2863e0e858496": datetime(
323
+ 2022, 9, 12
324
+ ),
325
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200403_Barber_Packaging_WARN.pdf?rev=65104aeac1e64543865dad2ec703138d": datetime(
326
+ 2020, 3, 23
327
+ ),
328
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/Concentrix-Corporation/2023-01-06_WARN-Notice_Concentrix-Corporation.pdf?rev=b62344a58616421680c203dde26346bb": datetime(
329
+ 2023, 3, 4
330
+ ),
331
+ "Beginning July 7, 2025": datetime(2025, 7, 7),
332
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-04-06_WARN_Robinson-Industries.pdf?rev=b77dda186c6649da970c30708306c389": datetime(
333
+ 2022, 3, 31
334
+ ),
335
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-08-02_WARN_Kelsey-Hospital.pdf?rev=031cdf4bb5c943af9614c457bd67cc41": datetime(
336
+ 2023, 10, 6
337
+ ),
338
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-04-08_Mitsubishi-Chemical---WARN-Letter-to-State.pdf?rev=1f21d92bcf8341a6b0cc3dac145fe4b4": datetime(
339
+ 2022, 4, 19
340
+ ),
341
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-04-07_WARN_Flint-Genesee-Chamber-of-Commerce.pdf?rev=68a43bcc0e8c48c8bdd6bab00bbeafaf": datetime(
342
+ 2023, 5, 29
343
+ ),
344
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-08-01_WARN_GEO-Secure-Services_North-Lake-Correctional-Facility.pdf?rev=e4fb2daeb3e84604ac90739ca48123ef": datetime(
345
+ 2022, 9, 30
346
+ ),
347
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/Eagle-Industries-Inc/2023-09-21_WARN-Notice_Eagle-Industries-Inc_Updated.pdf?rev=f56a849c430142f6b6aef769d3b06887": None,
348
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-03-09_WARN_PAE.pdf?rev=f0bd9f292d6f4bd3a9df586e372ad90b": datetime(
349
+ 2022, 2, 1
350
+ ),
351
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-08-15_WARN_AH.pdf?rev=262eb8122be04eb28099fa9f455e0017": datetime(
352
+ 2023, 10, 14
353
+ ),
354
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-11-17_WARN_Home-Point-Financial-Corp.pdf?rev=1bb21c4ecd274ef4a97f3a042586ecae": datetime(
355
+ 2022, 11, 17
356
+ ),
357
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-10-21_WARN_DHL.pdf?rev=5516ce3f7528425aa9bc1864e0b6e62f": datetime(
358
+ 2022, 11, 12
359
+ ),
360
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-09-15_WARN_CIE-NEWCOR.pdf?rev=5b0dfe476fb54a3a9422f2f24fc68c24": datetime(
361
+ 2023, 10, 2
362
+ ),
363
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-08-04_WARN_Minnie-Marie-Bakers.pdf?rev=1240bd0d3bd94862a7e4c8a7ccd44e19": datetime(
364
+ 2023, 9, 30
365
+ ),
366
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-11-10_WARN_Wayne-Metropolitan-Community.pdf?rev=a67f5339cefa42628a626cb461fc7fbf": datetime(
367
+ 2022, 12, 30
368
+ ),
369
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-05-19_WARN_Lordstown-Motors-Corp.pdf?rev=057b22a8c62041b6967c70473d6c88ac": datetime(
370
+ 2023, 7, 17
371
+ ),
372
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-04-11_WARN_Homepoint.pdf?rev=c2326382c7f5419c8b7d2849997f3116": datetime(
373
+ 2023, 4, 11
374
+ ),
375
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-06-20_WARN_Autism-Home-Support-Services-LLC.pdf?rev=aba6397774e5462db56859c74e6c7981": datetime(
376
+ 2023, 8, 21
377
+ ),
378
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-09-27_WARN-Notice_Cascades.pdf?rev=bedfcc6954ea4b6cb90d75ba5472ba2f": datetime(
379
+ 2023, 9, 22
380
+ ),
381
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-05-01_WARN_Lear-Corporation_Nevada-Plant.pdf?rev=6729f04ca3e34d198b7b173ff2ef304b": datetime(
382
+ 2023, 6, 30
383
+ ),
384
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-01-11_WARN-Notice_Clover-Imaging-Group.pdf?rev=001955f6c37a47919563c507ef08a68e": datetime(
385
+ 2023, 3, 14
386
+ ),
387
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-05-31_WARN_Illinois-Tool-Works-Inc.pdf?rev=a8805624debd459494df563cacb40abb": datetime(
388
+ 2023, 5, 30
389
+ ),
390
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-03-24_WARN_Pretium-Packaging-LLC.pdf?rev=971ea10ae2eb456bbe9af64fa63bf101": datetime(
391
+ 2022, 3, 11
392
+ ),
393
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/Armor-Express-Notice_MICH-DLEO.pdf?rev=819cbe83a273482ca9d080f18203bde8": datetime(
394
+ 2022, 1, 5
395
+ ),
396
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/WARN_-_Allied_Universal_Security_Services.pdf?rev=43e8a57c60d44bdf9a6b053f2d81dc57": datetime(
397
+ 2021, 1, 31
398
+ ),
399
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-06-16_WARN_Quality-Spring-Togo.pdf?rev=6b25b70fdc8a47218683ce6100c480a2": datetime(
400
+ 2023, 8, 1
401
+ ),
402
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-09-21_WARN_Dunn-Paper-Inc_DP-Holdings-LLC.pdf?rev=e7ce9267bcd2430c869df8129a0f1905": datetime(
403
+ 2022, 11, 18
404
+ ),
405
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-08-02_WARN_Yellow-Corp.pdf?rev=3f63ad4092fa4ff193903bbda3dd3388": datetime(
406
+ 2023, 7, 24
407
+ ),
408
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-06-20_Sturgis-Hospital_State-dislocated-worker-unit.pdf?rev=241a4defebf144539913171959f56bd6": datetime(
409
+ 2022, 7, 22
410
+ ),
411
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-01-31_WARN-Notice_Faurecia-Highland-Park.pdf?rev=428df8b8dc414ef4916e2c9464e1af82": datetime(
412
+ 2023, 2, 20
413
+ ),
414
+ "Beginning January 31, 2025": datetime(2025, 1, 31),
415
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-07-21_WARN_Notice_Faurecia---Highland-Park-JIT.pdf?rev=f0415bab66e04ba1b28574190c066bc4": datetime(
416
+ 2023, 9, 23
417
+ ),
418
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/20220519Warn-Notice--Penske-Romulus.pdf?rev=756f912dbee34354b0cbda7fa7702456": datetime(
419
+ 2022, 7, 18
420
+ ),
421
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-02-01_WARN_LearCorp.pdf?rev=3bc2db4074274b96b10659ce8a855ec8": datetime(
422
+ 2022, 3, 31
423
+ ),
424
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/2022-03-22_WARN-_Sodexo_Alma.pdf?rev=da622a645df543e5b039ad2842e9dd9f": datetime(
425
+ 2022, 6, 30
426
+ ),
427
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2022/20220601_WARN_Dynamic-BDC.pdf?rev=462962d015a74316889b0a0c5216c81c": datetime(
428
+ 2022, 7, 31
429
+ ),
430
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/2023-03-22_WARN-Notice_Yellow-Corporation.pdf?rev=8747814111454fa0baf22ae22a274bb4": datetime(
431
+ 2023, 5, 28
432
+ ),
433
+ "April 31, 2019": None,
434
+ "https://www.michigan.gov/documents/leo/2020-04-10_Agrati_Inc._-_WARN_686778_7.pdf": None,
435
+ "https://www.michigan.gov/documents/leo/2020-06-29_Normal_Michigan_Inc._Regional_Headquarters_WARN_695247_7.pdf": None,
436
+ "https://www.michigan.gov/documents/leo/YMCA_of_Greater_Grand_Rapids_-_WARN_Notification_7.27.20_signed_697533_7.pdf": None,
437
+ "https://www.michigan.gov/documents/leo/2020-06-15_US_Steel_Corp._Great_Lakes_Works-combined_693841_7.pdf": None,
438
+ "https://www.michigan.gov/documents/leo/2020.04.15_The_Tile_Company_Layoffs_Permanent_WARN_Notice_687530_7.pdf": None,
439
+ "https://www.michigan.gov/documents/leo/2020-06-08_Creative_Dining_Services_Inc._WARN_693217_7.pdf": None,
440
+ "https://www.michigan.gov/documents/leo/2020-04-07_Eagle_Industries_Inc._WARN_686217_7.pdf": None,
441
+ "https://www.michigan.gov/documents/leo/Paradies_Lagardere.2_-_WARN_Notice_696956_7.pdf": None,
442
+ "https://www.michigan.gov/documents/leo/2020-04-07_L.O._Eye_Care_WARN_686225_7.pdf": None,
443
+ "https://www.michigan.gov/documents/leo/2020.04.15_The_Tile_Company_Temp_Layoff_WARN_Notice_687531_7.pdf": None,
444
+ "https://www.michigan.gov/documents/leo/2020-04-13_Samsung_SDI_America_Inc._WARN_687009_7.pdf": None,
445
+ "https://www.michigan.gov/documents/leo/2020-04-13_Yazaki_North_America_Inc.-WARN_687020_7.pdf": None,
446
+ "https://www.michigan.gov/documents/leo/2020-05-18_Gill_Industries_Inc._Plainfield_WARN_691001_7.pdf": None,
447
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200730_Spirit_WARN_Notice.pdf?rev=d4225ac67e144dfea9434518c976ac35": datetime(
448
+ 2020, 10, 1
449
+ ),
450
+ }
17
451
  jobs_corrections = {
18
452
  "80*": 80,
19
453
  "Unreported": None,
454
+ "1 remote Michigan worker": 1,
455
+ "138 (133 Zeeland, 5 Traverse City)": 138,
456
+ "2 remote workers": 2,
457
+ "12 remote workers": 12,
458
+ "3 remote Michigan workers": 3,
459
+ "Approximately 25": 25,
460
+ "Approximately 156": 156,
461
+ "Approximately 95": 95,
462
+ "1 Michigan remote worker": 1,
463
+ "6 impacted Michigan workers": 6,
464
+ "1 Michigan remote worker": 1,
465
+ "132 (approximately)": 132,
466
+ "2,458": 2458,
467
+ "1 remote worker": 1,
468
+ "2,453": 2453,
469
+ "18 Michigan remote workers": 18,
470
+ "2 Michigan remote workers": 2,
471
+ "1,215": 2,
472
+ "Unknown": None,
473
+ "163, 204, 130, 191": 163,
474
+ "2,000": 2000,
475
+ "1,295": 1295,
476
+ "1,298": 1298,
477
+ "1,318": 1318,
478
+ "1,012": 1012,
479
+ "1,286": 1286,
480
+ "2,900": 2900,
481
+ "2,289": 2289,
482
+ "1,656": 1656,
483
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200409_Precision_Vehicle_Solutions_WARN.pdf?rev=a7d1de1a6ce74471b6bd7d0335d4fb1b": 180,
484
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-12-15_Updated_RustyBucket_WARN.pdf?rev=0b6c40673ef344d8811075dad1703b1d": 74,
485
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020c/2020-08-24_Vetta_LLC_WARN.pdf?rev=0300f2738e514ac5a2f12c87fbff26f3": 73,
486
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200604_Marriott_Hotel_Services_WARN.pdf?rev=1ebedde528234cbeac7e2610f8521dc2": 134,
487
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200409_Hooters_WARN.pdf?rev=74b227f87fbe42e18fd91eb91591c72d": 87,
488
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-10-07_LansingEntertain_WARN.pdf?rev=e38d1d2729174751bc59da437085687f": None,
489
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020c/2020-09-18_PF_Changs_China_Bistro_WARN_Notice.pdf?rev=43f467ed95bb41eba26d275471056588": 600,
490
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/Hertz_updated_WARN_Notice_5232020.pdf?rev=24ae228763964777aa21756b7610bdc1": 107,
491
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200622_SwissportGerald_R_Ford_International_Airport_WARN.pdf?rev=06218d866b8c425399d825b436e40595": 55,
492
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2021/2021_01-08_UAW_Chrysler_WARN.pdf?rev=675c529eb9744dbd84b5dbf0dbfc473c": 97,
493
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200716_3rdUpdated_IAC_Alma_WARN.pdf?rev=a26a934f69a2411ebe88b16e27d61829": 39,
494
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2021/2021-06-07_Progenity_WARN.pdf?rev=afc8e375123e42b9aab9b66779a3db40": 110,
495
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200424_Schafer_Woodworks_WARN.pdf?rev=5523b6e3e6a249ee97bfe59496b4c5aa": 20, # ish
496
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200730_Spirit_WARN_Notice.pdf?rev=d4225ac67e144dfea9434518c976ac35": 190,
497
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-11-19_MGM_Grand_Detroit_WARN.pdf?rev=8f6aaf7a01834b298f2df036b5909a21": 1561,
498
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200409_ProspectWARN.pdf?rev=410a938ee47d42d992125301b4ec9ad3": 132,
499
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2023/Davids-Bridal/2023-06-29_WARN_Davids_Bridal.pdf?rev=3ca5f1125826490eb4e5fc156acf661f": None,
500
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200413_Four_Winds_Casinos_WARN.pdf?rev=4f85faa7faf64383bdec07461980ee41": 1489,
501
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200602_Westin_Detroit_Metro_Airport_WARN_Notice.pdf?rev=d6681916f045487a9887f709c9dafe3c": 197,
502
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-07-20_MotorCity_Casino_Hotel_WARN.pdf?rev=d4dc8ded496248eebb01fbc226293eea": None, # Many, but attachment not in PDF
503
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200604_Westin_Book_Caddillac_WARN.pdf?rev=4b08e40a021f444e97432f296cbb4b83": 227,
504
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200520_Townsend_Hotel_WARN.pdf?rev=afcf5ccc7de54350996bfb9bdddba0df": 60,
505
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200512_Marriott_Detroit_Livonia_WARN.pdf?rev=4de1917eb90c409fa6a588aa7227bf64": None, # Many, no attachment
506
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020c/20200616_Jacobsen_Daniels_WARN_Notice.pdf?rev=58027249107a43ea9ec99918b7967c98": 7,
507
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200424_Punch_Bowl_Social_WARN.pdf?rev=1e2e11298d6b4c81b86580300a86ba13": 97,
508
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200420_Tilden_Mining_WARN.pdf?rev=6344a21d47d74208b0bffe141ec3b6ca": 687,
509
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/Walbro_LLC__WARN_Notice_20200526.pdf?rev=f00602a0acd24b23ad6b472133473813": None, # No attachment
510
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200415_Wolverine_Corporation_WARN.pdf?rev=bea449562bf74a489ffd88ddd89d0d8f": 70,
511
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020c/20200709_TownePlace_WARN_Notice.pdf?rev=822b4ac3a2d9482d9d0fab825a56b0b6": 14,
512
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200723_MotorCity_Casino_Hotel_WARN.pdf?rev=87c44b485e0b4fb580d78947438bf5b6": 2554,
513
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200618_Staples_WARN_Notice.pdf?rev=5ced945de3c24dd9969524b776a78750": 61,
514
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020c/2020-09-17_Tennaco_WARN.pdf?rev=e36528ccfe13487eb5e9c8b82b894fc9": 121,
515
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200601_Wireless_Vision_WARN.pdf?rev=5e66806e04b0428baeba7d8f9fdcc8f4": 37,
516
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200408_Pace_Industrices_WARN.pdf?rev=b2a38964abc344eaa1b8d5e1beff0b22": 456,
517
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200420_Marsh_Plating_WARN.pdf?rev=754d8a1a3dcb4337a2735cb926521f4d": 59,
518
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020c/2020-11-24_MotorCity_Casino_WARN.pdf?rev=04de99f317824c8696aaa7627a9efb45": None, # Many, but no counts of positions
519
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200505_MGM_Grand_WARN.pdf?rev=ff136f59e59b47e287ed6354ad6a9076": 2632,
520
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-12-05_Tech_Mahindra_WARN.pdf?rev=b8f9eb6d6d8340938780c83296b3f1bc": 81,
521
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020c/20200709_Hilton_Garden_Inn_WARN_Notice.pdf?rev=5e94c1549c794842a2fb30c17be8f55e": 39,
522
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-12-21_NBHX_Trim_USA_WARN.pdf?rev=17ba9d4f9cb347de898c758c72000b08": 76,
523
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200616_JacobsenDaniels_WARN_Notice.pdf?rev=96fdd5f611b24316b1236751b3dda772": 24,
524
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020_WARN_Notice_State_V2.pdf?rev=e5640aaf018944f1846ac0420b83ebe6": 50,
525
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200430_Hertz_WARN.pdf?rev=e4d1304ab6d949ef8a923bc1de815712": 106,
526
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-09-30_Kroger_WARN.pdf?rev=0e5d4200b97946a9bec77381233a0fc2": 73, # 73 in union. No attachment. No non-union listing.
527
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200522_Marriott_Auburn_Hills_Pontiac_WARN.pdf?rev=a26034c66f5a4bf182b330817c9a5d63": 101,
528
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200420_Williams_Intl_WARN.pdf?rev=7508e61f18ea42fea38bd745284287e2": 248,
529
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200409_Morbark_WARN.pdf?rev=95e72c91fb6a4f3fa59a04c837a40c24": 182,
530
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-09-03_Greektown_Casino-Hotel_WARN.pdf?rev=69f46393da7d4ee18ca8364cebb20935": 43, # 43 union; non-union not listed, no attachment.
531
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200707_Updated_Spire_WARN.pdf?rev=6857a98b59e34c269d567657b00cd9e9": 159,
532
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200423_Visionworks_WARN.pdf?rev=5fefb05a4a1a44c58a927465ed43eacc": None, # No attachment
533
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-08-17_HMSHost_WARN_no_names.pdf?rev=677f45d598ee483ba69b4842dcdf6e5d": None, # No count, no attachment
534
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200506_Great_Lakes_Specialty_Finance_WARN.pdf?rev=c8342ca76f3f474faf5d17320e8bd0c5": 62,
535
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200720_Leadec_WARN.pdf?rev=6b62fff17bf6480bbd9ea1177ab2bdf6": 50,
536
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/20200518_Grand_River_Polishing_WARN.pdf?rev=2e28eaa7cfdd48cea05b018b475f3437": 20,
537
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2021/2021-03-08_WARN_JDNormanIndustries.pdf?rev=a00f3dadc0a9434db1ea76d4c4cd09bc": 56,
538
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020b/20200709_Holiday_Inn_GR_WARN_Notice.pdf?rev=4b1829c8c5a241bf96cdd3074c6e7809": 36,
539
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-09-02_WARN_-_Orlans_PC.pdf?rev=d7ceffa7bd9d4adb9926930530d9df54": 60,
540
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020c/20200811_Sky_Chefs_DTW_WARN_Notice.pdf?rev=74236f79de634cb3ae4221a53c756417": 102,
541
+ "https://www.michigan.gov/leo/-/media/Project/Websites/leo/Documents/WD-DATA_PUBLIC_WARN_NOTICES4/2020/2020-09-24_SP_Plus_Corp_WARN_Notice.pdf?rev=b304f366d9924cc58330b6182da808ca": 95,
542
+ "https://www.michigan.gov/documents/leo/2020-06-15_US_Steel_Corp._Great_Lakes_Works-combined_693841_7.pdf": None,
543
+ "https://www.michigan.gov/documents/leo/2020-04-07_L.O._Eye_Care_WARN_686225_7.pdf": None,
544
+ "https://www.michigan.gov/documents/leo/YMCA_of_Greater_Grand_Rapids_-_WARN_Notification_7.27.20_signed_697533_7.pdf": None,
545
+ "https://www.michigan.gov/documents/leo/Paradies_Lagardere.2_-_WARN_Notice_696956_7.pdf": None,
546
+ "https://www.michigan.gov/documents/leo/2020-06-29_Normal_Michigan_Inc._Regional_Headquarters_WARN_695247_7.pdf": None,
547
+ "https://www.michigan.gov/documents/leo/2020.04.15_The_Tile_Company_Temp_Layoff_WARN_Notice_687531_7.pdf": None,
548
+ "https://www.michigan.gov/documents/leo/2020-04-13_Yazaki_North_America_Inc.-WARN_687020_7.pdf": None,
549
+ "https://www.michigan.gov/documents/leo/2020-04-13_Samsung_SDI_America_Inc._WARN_687009_7.pdf": None,
550
+ "https://www.michigan.gov/documents/leo/2020.04.15_The_Tile_Company_Layoffs_Permanent_WARN_Notice_687530_7.pdf": None,
551
+ "138 (133 Zeeland 5 Traverse City)": 138,
552
+ "163 204 130 191": 688,
20
553
  }
21
554
 
22
555
  def check_if_closure(self, row: typing.Dict) -> typing.Optional[bool]:
@@ -27,4 +560,4 @@ class Transformer(BaseTransformer):
27
560
 
28
561
  Returns: A boolean or null
29
562
  """
30
- return "closing" in row["Incident Type"].lower() or None
563
+ return "clos" in row["action"].lower() or None
@@ -19,6 +19,8 @@ class Transformer(BaseTransformer):
19
19
  "3/1620 to 4/30/20": datetime(2020, 3, 16),
20
20
  "Sept-April": None,
21
21
  "5/22/2025, 5/29/2025, 6/5/2025": datetime(2025, 5, 22),
22
+ "12/31/202": datetime(2025, 12, 31),
23
+ "11/17/225": datetime(2025, 11, 17),
22
24
  }
23
25
  jobs_corrections = {
24
26
  "Not noted": None,
@@ -180,6 +180,26 @@ class Transformer(BaseTransformer):
180
180
  "9/9/25, 9/24/25, 9/25/25": datetime(2025, 9, 9),
181
181
  "12/31/25 and 1/1/26": datetime(2025, 12, 31),
182
182
  "1/4/26 & 1/23/26": datetime(2026, 1, 4),
183
+ "1/15/26 & 1/17/26": datetime(2026, 1, 15),
184
+ "11/19/25 - 12/2/25": datetime(2025, 11, 19),
185
+ "11/19/25 - 12/15/25": datetime(2025, 11, 19),
186
+ "1/23/26 & 2/13/26": datetime(2026, 1, 23),
187
+ "12/17/2025 & 1/28/26": datetime(2025, 12, 17),
188
+ "1/23/26, 6/26/26, 7/31/26": datetime(2026, 1, 23),
189
+ "10/30/25 - 1/31/25": datetime(2025, 10, 30),
190
+ "10/25/25 - 11/9/25": datetime(2025, 10, 25),
191
+ "2/2/26 (377), 2/5/26 (4), 2/13/26 (4), 2/19/26 (2), 2/27/26 (1), and 3/4/26 (2)": datetime(
192
+ 2026, 2, 2
193
+ ),
194
+ "2/2/26 (120), 3/2/26 (1), and 3/4/26 (1)": datetime(2026, 2, 2),
195
+ "2/2/26 and 2/19/26": datetime(2026, 2, 2),
196
+ "11/4/26 - 11/6/26": datetime(2026, 11, 4),
197
+ "1/2/26, 1/9/26, 1/12/26, 1/13/26, 1/16/26, 1/29/26": datetime(2026, 1, 2),
198
+ "2/2/26 - 2/14/26": datetime(2026, 2, 2),
199
+ "2/12/26 and 3/13/26": datetime(2026, 2, 12),
200
+ "1/9/26 - 2/9/26": datetime(2026, 1, 9),
201
+ "2/20/26, 3/6/26, 3/13/26, 5/11/26": datetime(2026, 2, 20),
202
+ "12/31/25, 3/31/26, 6/30/26": datetime(2025, 12, 31),
183
203
  }
184
204
 
185
205
  def transform_jobs(self, value: str) -> typing.Optional[int]:
@@ -60,6 +60,8 @@ class Transformer(BaseTransformer):
60
60
  "98 Part-time Workers": 98,
61
61
  "56 part time": 56,
62
62
  "39 part time": 39,
63
+ "484 Perm Layoffs/850 Temp Layoffs": 1334,
64
+ "1 remote": 1,
63
65
  }
64
66
 
65
67
  def transform_date(self, value: str) -> typing.Optional[str]:
@@ -0,0 +1,249 @@
1
+ import typing
2
+ from datetime import datetime
3
+
4
+ from ..schema import BaseTransformer
5
+
6
+
7
+ class Transformer(BaseTransformer):
8
+ """Transform Pennsylvania raw data for consolidation."""
9
+
10
+ postal_code = "PA"
11
+ fields = dict(
12
+ company="company",
13
+ location="county",
14
+ # notice_date="Date Received",
15
+ effective_date="date_effective",
16
+ jobs="jobs",
17
+ )
18
+ date_format = ["%m/%d/%Y", "%m/%d/%y"]
19
+ date_corrections = {
20
+ "Unknown": None,
21
+ "": None,
22
+ "beginning 10/9/25; ending 10/31/25": datetime(2025, 10, 9),
23
+ "beginning 8/26/2025; ending 9/9/2025": datetime(2025, 8, 26),
24
+ "beginning 9/1/2025; ending 9/15/2025": datetime(2025, 9, 1),
25
+ "8/30/2025 - 12/31/2025": datetime(2025, 8, 30),
26
+ "beginning 8/18/2025; ending 12/31/2026": datetime(2025, 8, 18),
27
+ "beginning 8/12/25; ending 10/18/25": datetime(2025, 8, 12),
28
+ "beginning 6/13/25; ending 6/30/25": datetime(2025, 6, 13),
29
+ "beginning 1/17/25; ending 6/30/25": datetime(2025, 1, 17),
30
+ "beginning 7/31/25; ending 8/3/25": datetime(2025, 7, 31),
31
+ "8/25/2025 - 9/8/2025": datetime(2025, 8, 25),
32
+ "5/5/2025 @ Etters location; 6/4/2025 @ Philadelphia location": datetime(
33
+ 2025, 5, 5
34
+ ),
35
+ "7/1/2025 - 7/15/2025": datetime(2025, 7, 1),
36
+ "8/1/2025 - 12/31/2025": datetime(2025, 8, 1),
37
+ "beginning 4/25/25; ending 5/2/25": datetime(2025, 4, 25),
38
+ "first wave - 6/9/2025 impacting 192 workers ... second wave - 9/30/2025 impacting 106 workers ... final wave ending - 11/17/2025 impacting 25 workers": datetime(
39
+ 2025, 6, 9
40
+ ),
41
+ "4/22/2025 for Frankford Avenue location ... 4/24/2025 for Castor Avenue location": datetime(
42
+ 2025, 4, 22
43
+ ),
44
+ "first wave - 5/9/2025 impacting 124 workers ... second wave - 7/1/2025 impacting 112 workers ... final wave ending - 12/31/2025 impacting 62 workers": datetime(
45
+ 2025, 5, 9
46
+ ),
47
+ "6/27/2025 - 12/31/2025": datetime(2025, 6, 27),
48
+ "beginning: 3/24/2025; ending: 4/12/2025": datetime(2025, 3, 24),
49
+ "May 19, 23, 30 ... June 6, 20, 27 ... July 11, 18 ... August 8, 22, 29 ... September 12": datetime(
50
+ 2025, 5, 19
51
+ ),
52
+ "first round -- 5/16 through 5/30; second round -- 6/23 through 7/7; final round -- sometime in 2026": datetime(
53
+ 2025, 5, 16
54
+ ),
55
+ "4/23/25; ending: 5/7/25": datetime(2025, 4, 23),
56
+ "4/9/25-10/15/25": datetime(2025, 4, 9),
57
+ "5/26/25-5/30/25": datetime(2025, 1, 31),
58
+ "1/31/25-3/31/25": datetime(2025, 1, 31),
59
+ "beginning: 3/18/25; ending: 3/31/25": datetime(2025, 3, 18),
60
+ "beginning: 1/6/2025; completed: 3/31/2025": datetime(2025, 1, 6),
61
+ "Layoff date: 2/18/2025; Closure date: 2/21/2025": datetime(2025, 2, 18),
62
+ "2/17/2025 through 3/3/2025": datetime(2025, 2, 17),
63
+ "Layoffs: 1/25/2025; Closure: 1/31/2025": datetime(2025, 1, 25),
64
+ "beginning: 1/1/2025; ending: 1/3/2025": datetime(2025, 1, 1),
65
+ "1/3/2025 - 1/31/2026": datetime(2025, 1, 3),
66
+ "1. 1/15/2025 ... 2. 1/22/2025 ... 3. 2/12/2025": datetime(2025, 1, 15),
67
+ "beginning: 12/14/2024; ending: 12/28/2024": datetime(2024, 12, 14),
68
+ "12/9/2024 -- 173 workers ... 12/20/2024 -- 60 workers ... 1/13/2025 -- 2 workers ... 1/27/2025 -- 9 workers ... 2/17/2025 -- 26 workers": datetime(
69
+ 2024, 12, 9
70
+ ),
71
+ "beginning: 11/30/24; ending: 12/3/24": datetime(2024, 11, 30),
72
+ "11/27/2024 - 12/31/2024": datetime(2024, 11, 27),
73
+ "11/10/2024 ": datetime(2024, 11, 10),
74
+ "11/22/2024 ": datetime(2024, 11, 22),
75
+ "9/23/2024 ": datetime(2024, 9, 23),
76
+ "11/22 /2024 ": datetime(2024, 11, 22),
77
+ "beginning: 10/26/2024; ending: 11/9/2024 ": datetime(2024, 10, 26),
78
+ "beginning: 10/27/2024; ending: 11/10/2024": datetime(2024, 10, 27),
79
+ "8/30/2024 - 10/4/2024": datetime(2024, 8, 30),
80
+ "beginning: 10/7/2024; ending: 12/31/2024": datetime(2024, 10, 7),
81
+ "6/7 /2024": datetime(2024, 6, 7),
82
+ "8/9 /2024": datetime(2024, 8, 9),
83
+ "8/16 /2024": datetime(2024, 8, 16),
84
+ "8/9/2024 or within a 14-day window ": datetime(2024, 8, 9),
85
+ "beginning: 8/26/2024; E nding: 12/31/2024 ": datetime(2024, 8, 26),
86
+ "beginning: 8/26/2024; E nding: 12/31/2024": datetime(2024, 8, 26),
87
+ "beginning: 8/26/2024; Ending: 12/31/2024": datetime(2024, 8, 26),
88
+ "8/2/2024-8/16/2024": datetime(2024, 8, 2),
89
+ "Beginning 4/20/24; Ending 5/4/2024": datetime(2024, 4, 20),
90
+ "Beginning 4/13/2024; Ending 5/31/2024": datetime(2024, 4, 13),
91
+ "Beginning 2/15/2024; Ending 4/30/2024": datetime(2024, 2, 15),
92
+ "14 day period commencing 4/15/2024": datetime(2024, 4, 15),
93
+ "Beginning 3/8/2024; Ending end of year 2024": datetime(2024, 3, 8),
94
+ "Beginning 1/31/2024; Ending end of year 2024": datetime(2024, 1, 31),
95
+ "3/15/24 - 9/30/24": datetime(2024, 3, 15),
96
+ "Beginning 2/11/2024; Ending 2/25/2024": datetime(2024, 2, 11),
97
+ "Beginning February/March 2024; Ending July 1, 2024": datetime(2024, 2, 1),
98
+ "1/2/2024 and continuing periodically": datetime(2024, 1, 2),
99
+ "1/6/2024 - 3/26/2024": datetime(2024, 1, 6),
100
+ "1/16/2024 - 3/1/2024": datetime(2024, 1, 16),
101
+ "1/18/2024. Additional layoff dates: 2/19/24 & 4/18/24": datetime(2024, 1, 18),
102
+ "beginning: 1/3/2024 (52 employees); ending: 3/31/2024 (128 employees)": datetime(
103
+ 2024, 1, 3
104
+ ),
105
+ "Beginning 12/15/2023 - Ending 9/30/2024": datetime(2023, 12, 15),
106
+ "Beginning 11/20/2023 - Ending 12/15/2023": datetime(2023, 11, 20),
107
+ "9/8/23 - 10/1/23": datetime(2023, 9, 8),
108
+ "Beginning 9/29/23; Ending 11/16/23": datetime(2023, 9, 23),
109
+ "Beginning: October 31, 2023 - ... Ending: April 15, 2024": datetime(
110
+ 2023, 10, 31
111
+ ),
112
+ "Beginning: October 21, 2023 - ... Ending: December 30, 2023": datetime(
113
+ 2023, 10, 21
114
+ ),
115
+ "9/8/23 (96 employees) ... 9/15/23 (66 employees) ... 9/22/23 (36 employees) ... 9/29/23 (26 employees) ... 9/30/23 (1 employee) ... 10/6/23 (13 employees) ... 10/13/23 (37 employees) ... 10/20/23 (34 employees) ... 11/10/23 (10 employees) ... 12/1/23 (61 employees) ... 2/2/24 (13 employees) ... ": datetime(
116
+ 2023, 9, 8
117
+ ),
118
+ "9/8/23 (96 employees)": datetime(2023, 9, 8),
119
+ "Beginning 8/21/23 - Ending 9/19/23": datetime(2023, 8, 21),
120
+ "beginning 5/10/23 and ending 60-74 days thereafter": datetime(2023, 5, 10),
121
+ "7/14/23 (37 workers); 9/15/23 (125 workers)": datetime(2023, 7, 14),
122
+ "04/14 -- 11 Employees ... 05/05 -- 20 Employees ... 06/17 -- 40 Employees ... 07/07 -- 20 Employees ... 08/04 -- 20 Employees ... 09/08 -- 20 Employees ... 10/06 -- 20 Employees ... 11/03 -- 69 Employees ... 12/29 -- 40 Employees": datetime(
123
+ 2023, 4, 14
124
+ ),
125
+ "04/14": datetime(2023, 4, 14),
126
+ "Phase 1: 4/14 ... Phase 2: 5/13 -- 5/27 ... Phase 3: 6/12 -- 8/11": datetime(
127
+ 2023, 4, 14
128
+ ),
129
+ "Phase 1: 4/14": datetime(2023, 4, 14),
130
+ "7/3/20223 - 10/16/2023": datetime(2023, 7, 3),
131
+ "6/25/2023 - 7/9/2023": datetime(2023, 6, 25),
132
+ "6/2/23 -- 105 Employees ... 7/7/23 -- 10 Employees ... 10/6/23 -- 70 Employees ... 12/1/23 -- 18 Employees": datetime(
133
+ 2023, 6, 2
134
+ ),
135
+ "6/2/23 -- 105 Employees": datetime(2023, 6, 2),
136
+ "6/30/23 -- 50 Employees ... 8/11/23 -- 74 Employees": datetime(2023, 6, 30),
137
+ "6/30/23 -- 50 Employees": datetime(2023, 6, 30),
138
+ "Phase 1: 4/28/23 (67 employees) ... Phase 2: 7/14/23 (9 employees) ... Phase 3: 10/6/23 (4 employees)": datetime(
139
+ 2023, 4, 28
140
+ ),
141
+ "Phase 1: 4/28/23 (67 employees)": datetime(2023, 4, 28),
142
+ "February 1, 2023 -- 82 Employees ... March 1, 2023 -- 1 Employee ... April 1, 2023 -- 21 Employees": datetime(
143
+ 2023, 2, 1
144
+ ),
145
+ "February 1, 2023 -- 82 Employees": datetime(2023, 2, 1),
146
+ "1st Phase: 1/9/2023 (49 Employees) ... 2nd Phase: 7/31/2023 (15 Employees)": datetime(
147
+ 2023, 1, 9
148
+ ),
149
+ "1st Phase: 1/9/2023 (49 Employees)": datetime(2023, 1, 9),
150
+ "Phase 1: 1/11/23 (38 workers) ... Phase 2: 2/10/23 (59 workers) ... Phase 3: 3/31/23 (11 workers) ... Phase 4: TBD (6 workers)": datetime(
151
+ 2023, 1, 11
152
+ ),
153
+ "Phase 1: 1/11/23 (38 workers)": datetime(2023, 1, 11),
154
+ "Beginning: 7/15/25; Ending: 7/29/25": datetime(2025, 7, 15),
155
+ "Beginning: 12/9/2024; Ending: 12/21/2024": datetime(2024, 12, 9),
156
+ "beginning: 10/26/2024; ending: 11/9/2024": datetime(2024, 10, 26),
157
+ "beginning: 10/27/2024; ending: 11/10/2024": datetime(2024, 10, 27),
158
+ "Commencing: 5/30/2024; Ending: 7/29/2024": datetime(2024, 5, 30),
159
+ "8/9/2024 or within a 14-day window": datetime(2024, 8, 9),
160
+ "Commencing: 7/6/2024; Ending: 9/1/2024": datetime(2024, 7, 6),
161
+ "Beginning: 6/3/24; Ending: 6/16/24": datetime(2024, 6, 3),
162
+ "Beginning: 2/24/24; Ending: 4/23/24": datetime(2024, 2, 24),
163
+ "Beginning: 5/17/24; Ending: 8/30/24": datetime(2024, 5, 17),
164
+ "Beginning: 1/16/24; Ending: 3/29/24": datetime(2024, 1, 16),
165
+ "Beginning: 1/2/2024 - Ending: 3/31/2024": datetime(2024, 1, 2),
166
+ "November 3, 2023": datetime(2023, 11, 3),
167
+ "9/8/23 (96 employees) ... 9/15/23 (66 employees) ... 9/22/23 (36 employees) ... 9/29/23 (26 employees) ... 9/30/23 (1 employee) ... 10/6/23 (13 employees) ... 10/13/23 (37 employees) ... 10/20/23 (34 employees) ... 11/10/23 (10 employees) ... 12/1/23 (61 employees) ... 2/2/24 (13 employees) ...": datetime(
168
+ 2023, 9, 8
169
+ ),
170
+ "Beginning: 2/28/23 - Ending: 12/31/23": datetime(2023, 2, 28),
171
+ "March 3, 2023": datetime(2023, 3, 3),
172
+ "March 31, 2023": datetime(2023, 3, 31),
173
+ "March 5, 2023": datetime(2023, 3, 5),
174
+ "February 28, 2023": datetime(2023, 2, 28),
175
+ "Beginning: March 15, 2023; Ending: October 2, 2023": datetime(2023, 3, 15),
176
+ "Beginning: January 23, 2023; Ending: March 24, 2023": datetime(2023, 1, 23),
177
+ "Beginning: 12/31/2025; Ending: 6/30/2026": datetime(2025, 12, 31),
178
+ "1/1/2026-12/31/2027": datetime(2026, 1, 1),
179
+ "Beginning 1/31/2026; Ending 2/28/2026": datetime(2026, 1, 31),
180
+ "Beginning 1/12/2026; Ending 1/26/2026": datetime(2026, 1, 12),
181
+ "Beginning 1/12/2026; Ending 5/30/2026": datetime(2026, 1, 12),
182
+ "beginning 2/13/2026; ending 12/31/2026": datetime(2026, 2, 13),
183
+ }
184
+
185
+ jobs_corrections = {
186
+ "Unknown": None,
187
+ "TBD": None,
188
+ "unknown": None,
189
+ "To be determined": None,
190
+ "60 total": 60,
191
+ "72 (54 PA residents impacted)": 54,
192
+ "9 Pennsylvania workers (209 total) ... EFFECTIVE DATE: Beginning: 7/15/25; Ending: 7/29/25": 9,
193
+ "501 @ Etters location; 595 @ Philadelphia location": 1096,
194
+ "14 Pennsylvania residents": 14,
195
+ "430 nationwide; unknown number of PA residents impacted": None,
196
+ "Cooked Plant -- 110 ... Raw Plant - 119": 229,
197
+ "420 ... EFFECTIVE DATE: Beginning: 12/9/2024; Ending: 12/21/2024": 420,
198
+ "124 ... EFFECTIVE DATE: Commencing: 5/30/2024; Ending: 7/29/2024": 124,
199
+ "645 (**ONLY FIVE PA RESIDENTS AFFECTED**)": 5,
200
+ "253 (173 @ Allentown and 80 @ Greensburg)": 253,
201
+ "9 Pennsylvania workers (209 total)": 9,
202
+ "105 (91 Temporary Layoffs and 14 Permanent Layoffs)": 105,
203
+ "60 (all employees work remotely)": None,
204
+ "206 (198 P/T and 8 F/T Employees)": 206,
205
+ "54 (All employees can be relocated to other Amazon Delivery Service Partners)": 54,
206
+ "179 (80 Marsden Employees and 99 Temporary Employees from both Express Labor & Integrated Staffing Agencies)": 179,
207
+ "9236 Nationwide; PA total pending verification": None,
208
+ "81 Total -- 13 of which reside in PA": 81,
209
+ }
210
+
211
+ def transform_date(self, value: str) -> typing.Optional[str]:
212
+ """Transform a raw date string into a date object.
213
+
214
+ Args:
215
+ value (str): The raw date string provided by the source
216
+
217
+ Returns: A date object ready for consolidation. Or, if the date string is invalid, a None.
218
+ """
219
+ # Cut out cruft
220
+ # value = value.replace("Updated", "")
221
+ # value = value.replace("Revised", "")
222
+ # value = value.replace("-", "").strip()
223
+
224
+ # Split double dates
225
+ # if len(value) == 20:
226
+ # value = value[:10]
227
+ # elif len(value) == 19:
228
+ # value = value[:9]
229
+ # value = re.split(r"\s{2,}", value)[0].strip()
230
+ # value = value.split("Originated")[0].strip()
231
+ # print(value)
232
+
233
+ try:
234
+ return super().transform_date(value)
235
+ except Exception:
236
+ # value = value.split(" to ")[0].strip()
237
+ # value = value.split()[0].strip()
238
+ # value = value.replace("‐", "")
239
+ return super().transform_date(value)
240
+
241
+ def check_if_closure(self, row: typing.Dict) -> typing.Optional[bool]:
242
+ """Determine whether a row is a closure or not.
243
+
244
+ Args:
245
+ row (dict): The raw row of data.
246
+
247
+ Returns: A boolean or null
248
+ """
249
+ return "clos" in row["closure_or_layoff"].lower() or None
@@ -43,4 +43,5 @@ class Transformer(BaseTransformer):
43
43
  "8/1/2025 - 10/1/2025": datetime(2025, 8, 1),
44
44
  "6/30/2025 - 7/3/2025": datetime(2025, 6, 30),
45
45
  "10/10/2025 - 10/24/2025": datetime(2025, 10, 10),
46
+ "1/6/2026 - 9/30/2026": datetime(2026, 1, 6),
46
47
  }
@@ -27,4 +27,4 @@ class Transformer(BaseTransformer):
27
27
 
28
28
  Returns: A boolean or null
29
29
  """
30
- return "closure" in row["Reduction in Force"].lower() or None
30
+ return "closure" in row["Notice Type"].lower() or None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: warn-transformer
3
- Version: 1.3.273
3
+ Version: 1.3.302
4
4
  Summary: Consolidate, enrich and analyze the data gathered by warn-scraper
5
5
  Home-page: https://github.com/biglocalnews/warn-transformer
6
6
  Author: Big Local News
@@ -11,8 +11,8 @@ warn_transformer/transformers/al.py,sha256=OydLDvZMAJTDBTr-xfCW8sRlOYqgCGGmXIA41
11
11
  warn_transformer/transformers/az.py,sha256=cB1fTlpBH-meU4NO4hS5-pO2_oCSc6q6Ip7eeQQEUJo,398
12
12
  warn_transformer/transformers/ca.py,sha256=UGs9lbslvtJxT-3WylvZSFu7_BKlUgjNKDBZApOhc0Q,1764
13
13
  warn_transformer/transformers/co.py,sha256=_EBTSAhnV9g3VPPvJh-TymhWguuvVEMEYtY3XkejjlY,5375
14
- warn_transformer/transformers/ct.py,sha256=tREKFro2HYl4xRJsN0eokYIajP6fMC5dr8yClyUv-wQ,4251
15
- warn_transformer/transformers/dc.py,sha256=p2gOjNNOaIxG7IrHCTO3xLP_y2ROVqR8C8NJ4OC5xEE,2396
14
+ warn_transformer/transformers/ct.py,sha256=6GLDJPvV2mA6rb6HQtGJaOzwbV2A0KzqWG4sXTNeswg,8403
15
+ warn_transformer/transformers/dc.py,sha256=rci9d35J9FVs7QntVXIkaiexeSuKa0jtuS9Eotqp_2A,2953
16
16
  warn_transformer/transformers/de.py,sha256=QTvAVeR9A_cqLKBPf1ELL1PzYixazOsPIbLipJqyTrI,344
17
17
  warn_transformer/transformers/fl.py,sha256=2MyAh34od1aJoc_P2-bGLCWljmhDmPGPsHW3xTDUsvM,1879
18
18
  warn_transformer/transformers/ga.py,sha256=Wy5yg7o7W1PcMQ3HZlHFE73yGMOKJZE7ulOC5e7GoC0,1143
@@ -22,33 +22,34 @@ warn_transformer/transformers/id.py,sha256=UInDVmBhkMNJrSLYRII9nngfcAd-0MjJ7bwuH
22
22
  warn_transformer/transformers/il.py,sha256=vScnMPAPyEn9e7mqYUtIp19EENagILzMpl99hmwG4GA,930
23
23
  warn_transformer/transformers/in.py,sha256=1X5r-RuJFmWgzGVt_5RwLHMft_2yMEtdN__h3S3wRgs,4698
24
24
  warn_transformer/transformers/ks.py,sha256=uMj6FYoZt1lA4JWBRIWHsXOnOcN3M8pXun7lcOuo358,473
25
- warn_transformer/transformers/ky.py,sha256=kSKXs5bFCGUrEkKKwHr56NJY4eEvzWTnHv31KnvCb4c,13022
25
+ warn_transformer/transformers/ky.py,sha256=asBo6nDu190ToTYsIfEW951be3saVLf8h9IcaovoBtw,13255
26
26
  warn_transformer/transformers/la.py,sha256=X-eWf2hpoAZeCsZ9R0se2-I6Lu_Buzovn5OBYWofNyk,3601
27
- warn_transformer/transformers/md.py,sha256=Gay0PKYBnEo9rgKAEFZR1DXiAiaY3LYNi-5AzbvjpPk,2956
27
+ warn_transformer/transformers/md.py,sha256=Phh9TnbBCT6xLhi-b1xc8xApDvJA_OUIMUtPaFZMiDY,3025
28
28
  warn_transformer/transformers/me.py,sha256=jSF_U_mcvApbvX3Tasf_eFQNxIAvclIc-xJYGiUqtZE,396
29
- warn_transformer/transformers/mi.py,sha256=fXKiv-Slgh34tpKGPZiNs0hVd2mDqiaOP2ZEaegj8eQ,736
29
+ warn_transformer/transformers/mi.py,sha256=Hu0OyQTbxlvSb1KNx9tW5mHzdBywEanoAoTXp4PwPkg,48860
30
30
  warn_transformer/transformers/mo.py,sha256=NYmHMISfXawIoIm00Bsvjzjw4TGAxbsHiS8MQ6oYEdk,1709
31
- warn_transformer/transformers/mt.py,sha256=QSSlo3BFjJklcE4e6tUu_vJa1H887XeDXdxsCY0LGm0,762
31
+ warn_transformer/transformers/mt.py,sha256=Z_HHFwVehxfjty6poFNnpPzhSHnjdYvPItwzmTviWI8,852
32
32
  warn_transformer/transformers/ne.py,sha256=WqUkSsoR9a2Oi4Y7sjOqH3C2lbbaYWQzFCvhme2iNKo,982
33
- warn_transformer/transformers/nj.py,sha256=brxBz_JmJ-RolBQcN4vB7WC7m9Pg4aiFUaxoGHppsvc,9797
33
+ warn_transformer/transformers/nj.py,sha256=Aukoicj8Cr6VLQfEtx5QofKYrob1lA3oNkN-ir6OfeY,10914
34
34
  warn_transformer/transformers/nm.py,sha256=w_u9AmXyc-VCqnspTvuUNlP2cwqjwSRvqeVHwQoLux0,664
35
35
  warn_transformer/transformers/ny.py,sha256=YGlomU9-pr6dBLrR0xROL8jJzOwJWPGV01GSByqUHds,2559
36
- warn_transformer/transformers/oh.py,sha256=ZTREXZgvurJjigJ-g38qBtiDmT4P1p5ZvOH0G7Y4Q9I,3273
36
+ warn_transformer/transformers/oh.py,sha256=ncQCWult8moFxjbwkHUYlVbC4PvrYvrVNiqAitXavTU,3347
37
37
  warn_transformer/transformers/ok.py,sha256=LxjyrJ4uzhVllXSqWLZhlZ9p60tshwrfco5kGv8m94E,733
38
38
  warn_transformer/transformers/or.py,sha256=YcSBOndSS7sd04LICuVwmMwY4al2bBOCGxowXXj34vE,1433
39
+ warn_transformer/transformers/pa.py,sha256=RDH7uM2Lg81N9nxnQyW_GjWsK2CAL1cO13S1N9ADXyc,13551
39
40
  warn_transformer/transformers/ri.py,sha256=nodHs6DIiZeReJo5R6kKQQiXecfrA2CdTgWc54xP-Z0,2270
40
- warn_transformer/transformers/sc.py,sha256=0GNL3aFCCNsVKtHpUfS-W7Tb5bDkNnTIUrqJwsSu31o,1911
41
+ warn_transformer/transformers/sc.py,sha256=d-_Ztmsimc8bhCJbfLho0FTPVODY8TrtsuNSv_Cgex8,1965
41
42
  warn_transformer/transformers/sd.py,sha256=PYMbuI_va2lk8mZ92PG3ReXxm6J83wxW7-xf_Vxd2Nk,459
42
43
  warn_transformer/transformers/tn.py,sha256=oOz69assHYFyXj6LpI_QFwK5UMeGPKPCDuLQdeKrfjk,3868
43
44
  warn_transformer/transformers/tx.py,sha256=iVNEY1qzkD0k4Ro8VZShU_ffXa0MqrvPqop8MvTbWfM,611
44
45
  warn_transformer/transformers/ut.py,sha256=geMp25P1w_jYeB57c3eYItgixq5eyGcoC1VTczlofgU,784
45
- warn_transformer/transformers/va.py,sha256=vxlkvIgrphAUqqCKi_6xZ8raOEhbUpskBukKbpOB2xI,758
46
+ warn_transformer/transformers/va.py,sha256=XzQnuU2GqGgx5otAItPd3-DMA5fxHniQ2mHYJr25HNw,751
46
47
  warn_transformer/transformers/vt.py,sha256=5J9p7yexXmn4K3Pe0xIkPa9fR10DpZ2DSzvjkrDbCZs,452
47
48
  warn_transformer/transformers/wa.py,sha256=0addhlk4jBAfScVngCq8VUJvd-Bc8e1winPn8Lu2DZo,1111
48
49
  warn_transformer/transformers/wi.py,sha256=sM5KFkACDQ6dqiQ666wvZ8gJe47ywFVmM1hFbw8Io64,3019
49
- warn_transformer-1.3.273.dist-info/licenses/LICENSE,sha256=ZV-QHyqPwyMuwuj0lI05JeSjV1NyzVEk8Yeu7FPtYS0,585
50
- warn_transformer-1.3.273.dist-info/METADATA,sha256=hTz8t0e3RFz1vi3oefawM7twxq-hyhl8kAIphcoqWHQ,1740
51
- warn_transformer-1.3.273.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
52
- warn_transformer-1.3.273.dist-info/entry_points.txt,sha256=MvWNvQnZTu5Fbpd7JMN-KGPeklT6f5v6Hx39uqnBl28,62
53
- warn_transformer-1.3.273.dist-info/top_level.txt,sha256=8nZpmzmOcqSnismvY34muSX8MvaZM6aEfLldl-wp0fQ,17
54
- warn_transformer-1.3.273.dist-info/RECORD,,
50
+ warn_transformer-1.3.302.dist-info/licenses/LICENSE,sha256=ZV-QHyqPwyMuwuj0lI05JeSjV1NyzVEk8Yeu7FPtYS0,585
51
+ warn_transformer-1.3.302.dist-info/METADATA,sha256=8r3WAMNRgUKOfSmpaTNd2c44vkk-37mymih7rSS8vm4,1740
52
+ warn_transformer-1.3.302.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
53
+ warn_transformer-1.3.302.dist-info/entry_points.txt,sha256=MvWNvQnZTu5Fbpd7JMN-KGPeklT6f5v6Hx39uqnBl28,62
54
+ warn_transformer-1.3.302.dist-info/top_level.txt,sha256=8nZpmzmOcqSnismvY34muSX8MvaZM6aEfLldl-wp0fQ,17
55
+ warn_transformer-1.3.302.dist-info/RECORD,,