warn-transformer 1.3.275__py3-none-any.whl → 1.3.277__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.

@@ -1,4 +1,3 @@
1
- import re
2
1
  import typing
3
2
  from datetime import datetime
4
3
 
@@ -18,153 +17,189 @@ class Transformer(BaseTransformer):
18
17
  )
19
18
  date_format = ["%m/%d/%Y", "%m/%d/%y"]
20
19
  date_corrections = {
21
- "Unknown": None,
22
- "": None,
23
- "beginning 10/9/25; ending 10/31/25": datetime(2025, 10, 9),
24
- "beginning 8/26/2025; ending 9/9/2025": datetime(2025, 8, 26),
25
- "beginning 9/1/2025; ending 9/15/2025": datetime(2025, 9, 1),
26
- "8/30/2025 - 12/31/2025": datetime(2025, 8, 30),
27
- "beginning 8/18/2025; ending 12/31/2026": datetime(2025, 8, 18),
28
- "beginning 8/12/25; ending 10/18/25": datetime(2025, 8, 12),
29
- "beginning 6/13/25; ending 6/30/25": datetime(2025, 6, 13),
30
- "beginning 1/17/25; ending 6/30/25": datetime(2025, 1, 17),
31
- "beginning 7/31/25; ending 8/3/25": datetime(2025, 7, 31),
32
- "8/25/2025 - 9/8/2025": datetime(2025, 8, 25),
33
- "5/5/2025 @ Etters location; 6/4/2025 @ Philadelphia location": datetime(2025, 5, 5),
34
- "7/1/2025 - 7/15/2025": datetime(2025, 7, 1),
35
- "8/1/2025 - 12/31/2025": datetime(2025, 8, 1),
36
- "beginning 4/25/25; ending 5/2/25": datetime(2025, 4, 25),
37
- "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(2025, 6, 9),
38
- "4/22/2025 for Frankford Avenue location ... 4/24/2025 for Castor Avenue location": datetime(2025, 4, 22),
39
- "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(2025, 5, 9),
40
- "6/27/2025 - 12/31/2025": datetime(2025, 6, 27),
41
- "beginning: 3/24/2025; ending: 4/12/2025": datetime(2025, 3, 24),
42
- "beginning: 3/24/2025; ending: 4/12/2025": datetime(2025, 3, 24),
43
- "May 19, 23, 30 ... June 6, 20, 27 ... July 11, 18 ... August 8, 22, 29 ... September 12": datetime(2025, 5, 19),
44
- "first round -- 5/16 through 5/30; second round -- 6/23 through 7/7; final round -- sometime in 2026": datetime(2025, 5, 16),
45
- "4/23/25; ending: 5/7/25": datetime(2025, 4, 23),
46
- "4/9/25-10/15/25": datetime(2025, 4, 9),
47
- "5/26/25-5/30/25": datetime(2025, 1, 31),
48
- "1/31/25-3/31/25": datetime(2025, 1, 31),
49
- "beginning: 3/18/25; ending: 3/31/25": datetime(2025, 3, 18),
50
- "beginning: 1/6/2025; completed: 3/31/2025": datetime(2025, 1, 6),
51
- "Layoff date: 2/18/2025; Closure date: 2/21/2025": datetime(2025, 2, 18),
52
- "2/17/2025 through 3/3/2025": datetime(2025, 2, 17),
53
- "Layoffs: 1/25/2025; Closure: 1/31/2025": datetime(2025, 1, 25),
54
- "beginning: 1/1/2025; ending: 1/3/2025": datetime(2025, 1, 1),
55
- "1/3/2025 - 1/31/2026": datetime(2025, 1, 3),
56
- "1. 1/15/2025 ... 2. 1/22/2025 ... 3. 2/12/2025": datetime(2025, 1, 15),
57
- "beginning: 12/14/2024; ending: 12/28/2024": datetime(2024, 12, 14),
58
- "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(2024, 12, 9),
59
- "beginning: 11/30/24; ending: 12/3/24": datetime(2024, 11, 30),
60
- "11/27/2024 - 12/31/2024": datetime(2024, 11, 27),
61
- "11/10/2024 ": datetime(2024, 11, 10),
62
- "11/22/2024 ": datetime(2024, 11, 22),
63
- "9/23/2024 ": datetime(2024, 9, 23),
64
- "11/22 /2024 ": datetime(2024, 11, 22),
65
- "beginning: 10/26/2024; ending: 11/9/2024 ": datetime(2024, 10, 26),
66
- "beginning: 10/27/2024; ending: 11/10/2024": datetime(2024, 10, 27),
67
- "8/30/2024 - 10/4/2024": datetime(2024, 8, 30),
68
- "beginning: 10/7/2024; ending: 12/31/2024": datetime(2024, 10, 7),
69
- "6/7 /2024": datetime(2024, 6, 7),
70
- "8/9 /2024": datetime(2024, 8, 9),
71
- "6/7 /2024": datetime(2024, 6, 7),
72
- "8/16 /2024": datetime(2024, 8, 16),
73
- "8/9/2024 or within a 14-day window ": datetime(2024, 8, 9),
74
- "beginning: 8/26/2024; E nding: 12/31/2024 ": datetime(2024, 8, 26),
75
- "beginning: 8/26/2024; E nding: 12/31/2024": datetime(2024, 8, 26),
76
- "beginning: 8/26/2024; Ending: 12/31/2024": datetime(2024, 8, 26),
77
- "8/2/2024-8/16/2024": datetime(2024, 8, 2),
78
- "Beginning 4/20/24; Ending 5/4/2024": datetime(2024, 4, 20),
79
- "Beginning 4/13/2024; Ending 5/31/2024": datetime(2024, 4, 13),
80
- "Beginning 2/15/2024; Ending 4/30/2024": datetime(2024, 2, 15),
81
- "14 day period commencing 4/15/2024": datetime(2024, 4, 15),
82
- "Beginning 3/8/2024; Ending end of year 2024": datetime(2024, 3, 8),
83
- "Beginning 1/31/2024; Ending end of year 2024": datetime(2024, 1, 31),
84
- "3/15/24 - 9/30/24": datetime(2024, 3, 15),
85
- "Beginning 2/11/2024; Ending 2/25/2024": datetime(2024, 2, 11),
86
- "Beginning February/March 2024; Ending July 1, 2024": datetime(2024, 2, 1),
87
- "1/2/2024 and continuing periodically": datetime(2024, 1, 2),
88
- "1/6/2024 - 3/26/2024": datetime(2024, 1, 6),
89
- "1/16/2024 - 3/1/2024": datetime(2024, 1, 16),
90
- "1/18/2024. Additional layoff dates: 2/19/24 & 4/18/24": datetime(2024, 1, 18),
91
- "beginning: 1/3/2024 (52 employees); ending: 3/31/2024 (128 employees)": datetime(2024, 1, 3),
92
- "Beginning 12/15/2023 - Ending 9/30/2024": datetime(2023, 12, 15),
93
- "Beginning 11/20/2023 - Ending 12/15/2023": datetime(2023, 11, 20),
94
- "9/8/23 - 10/1/23": datetime(2023, 9, 8),
95
- "Beginning 9/29/23; Ending 11/16/23": datetime(2023, 9, 23),
96
- "Beginning: October 31, 2023 - ... Ending: April 15, 2024": datetime(2023, 10, 31),
97
- "Beginning: October 21, 2023 - ... Ending: December 30, 2023": datetime(2023, 10, 21),
98
- "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(2023, 9, 8),
99
- "9/8/23 (96 employees)": datetime(2023, 9, 8),
100
- "Beginning 8/21/23 - Ending 9/19/23": datetime(2023, 8, 21),
101
- "beginning 5/10/23 and ending 60-74 days thereafter": datetime(2023, 5, 10),
102
- "7/14/23 (37 workers); 9/15/23 (125 workers)": datetime(2023, 7, 14),
103
- "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(2023, 4, 14),
104
- "04/14": datetime(2023, 4, 14),
105
- "Phase 1: 4/14 ... Phase 2: 5/13 -- 5/27 ... Phase 3: 6/12 -- 8/11": datetime(2023, 4, 14),
106
- "Phase 1: 4/14": datetime(2023, 4, 14),
107
- "7/3/20223 - 10/16/2023": datetime(2023, 7, 3),
108
- "6/25/2023 - 7/9/2023": datetime(2023, 6, 25),
109
- "6/2/23 -- 105 Employees ... 7/7/23 -- 10 Employees ... 10/6/23 -- 70 Employees ... 12/1/23 -- 18 Employees": datetime(2023, 6, 2),
110
- "6/2/23 -- 105 Employees": datetime(2023, 6, 2),
111
- "6/30/23 -- 50 Employees ... 8/11/23 -- 74 Employees": datetime(2023, 6, 30),
112
- "6/30/23 -- 50 Employees": datetime(2023, 6, 30),
113
- "Phase 1: 4/28/23 (67 employees) ... Phase 2: 7/14/23 (9 employees) ... Phase 3: 10/6/23 (4 employees)": datetime(2023, 4, 28),
114
- "Phase 1: 4/28/23 (67 employees)": datetime(2023, 4, 28),
115
- "February 1, 2023 -- 82 Employees ... March 1, 2023 -- 1 Employee ... April 1, 2023 -- 21 Employees": datetime(2023, 2, 1),
116
- "February 1, 2023 -- 82 Employees": datetime(2023, 2, 1),
117
- "1st Phase: 1/9/2023 (49 Employees) ... 2nd Phase: 7/31/2023 (15 Employees)": datetime(2023, 1, 9),
118
- "1st Phase: 1/9/2023 (49 Employees)": datetime(2023, 1, 9),
119
- "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(2023, 1, 11),
120
- "Phase 1: 1/11/23 (38 workers)": datetime(2023, 1, 11),
121
- "Beginning: 7/15/25; Ending: 7/29/25": datetime(2025, 7, 15),
122
- "Beginning: 12/9/2024; Ending: 12/21/2024": datetime(2024, 12, 9),
123
- "beginning: 10/26/2024; ending: 11/9/2024": datetime(2024, 10, 26),
124
- "beginning: 10/27/2024; ending: 11/10/2024": datetime(2024, 10, 27),
125
- "Commencing: 5/30/2024; Ending: 7/29/2024": datetime(2024, 5, 30),
126
- "8/9/2024 or within a 14-day window": datetime(2024, 8, 9),
127
- "Commencing: 7/6/2024; Ending: 9/1/2024": datetime(2024, 7, 6),
128
- "Beginning: 6/3/24; Ending: 6/16/24": datetime(2024, 6, 3),
129
- "Beginning: 2/24/24; Ending: 4/23/24": datetime(2024, 2, 24),
130
- "Beginning: 5/17/24; Ending: 8/30/24": datetime(2024, 5, 17),
131
- "Beginning: 1/16/24; Ending: 3/29/24": datetime(2024, 1, 16),
132
- "Beginning: 1/2/2024 - Ending: 3/31/2024": datetime(2024, 1, 2),
133
- "November 3, 2023": datetime(2023, 11, 3),
134
- "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(2023, 9, 8),
135
- "Beginning: 2/28/23 - Ending: 12/31/23": datetime(2023, 2, 28),
136
- "March 3, 2023": datetime(2023, 3, 3),
137
- "March 31, 2023": datetime(2023, 3, 31),
138
- "March 5, 2023": datetime(2023, 3, 5),
139
- "February 28, 2023": datetime(2023, 2, 28),
140
- "Beginning: March 15, 2023; Ending: October 2, 2023": datetime(2023, 3, 15),
141
- "Beginning: January 23, 2023; Ending: March 24, 2023": datetime(2023, 1, 23),
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),
142
177
  }
143
178
 
144
179
  jobs_corrections = {
145
- "Unknown": None,
146
- "TBD": None,
147
- "unknown": None,
148
- "To be determined": None,
149
- "60 total": 60,
150
- "72 (54 PA residents impacted)": 54,
151
- "9 Pennsylvania workers (209 total) ... EFFECTIVE DATE: Beginning: 7/15/25; Ending: 7/29/25": 9,
152
- "501 @ Etters location; 595 @ Philadelphia location": 1096,
153
- "14 Pennsylvania residents": 14,
154
- "430 nationwide; unknown number of PA residents impacted": None,
155
- "Cooked Plant -- 110 ... Raw Plant - 119": 229,
156
- "420 ... EFFECTIVE DATE: Beginning: 12/9/2024; Ending: 12/21/2024": 420,
157
- "124 ... EFFECTIVE DATE: Commencing: 5/30/2024; Ending: 7/29/2024": 124,
158
- "645 (**ONLY FIVE PA RESIDENTS AFFECTED**)": 5,
159
- "253 (173 @ Allentown and 80 @ Greensburg)": 253,
160
- "9 Pennsylvania workers (209 total)": 9,
161
- "105 (91 Temporary Layoffs and 14 Permanent Layoffs)": 105,
162
- "60 (all employees work remotely)": None,
163
- "206 (198 P/T and 8 F/T Employees)": 206,
164
- "54 (All employees can be relocated to other Amazon Delivery Service Partners)": 54,
165
- "179 (80 Marsden Employees and 99 Temporary Employees from both Express Labor & Integrated Staffing Agencies)": 179,
166
- "9236 Nationwide; PA total pending verification": None,
167
- "81 Total -- 13 of which reside in PA": 81,
180
+ "Unknown": None,
181
+ "TBD": None,
182
+ "unknown": None,
183
+ "To be determined": None,
184
+ "60 total": 60,
185
+ "72 (54 PA residents impacted)": 54,
186
+ "9 Pennsylvania workers (209 total) ... EFFECTIVE DATE: Beginning: 7/15/25; Ending: 7/29/25": 9,
187
+ "501 @ Etters location; 595 @ Philadelphia location": 1096,
188
+ "14 Pennsylvania residents": 14,
189
+ "430 nationwide; unknown number of PA residents impacted": None,
190
+ "Cooked Plant -- 110 ... Raw Plant - 119": 229,
191
+ "420 ... EFFECTIVE DATE: Beginning: 12/9/2024; Ending: 12/21/2024": 420,
192
+ "124 ... EFFECTIVE DATE: Commencing: 5/30/2024; Ending: 7/29/2024": 124,
193
+ "645 (**ONLY FIVE PA RESIDENTS AFFECTED**)": 5,
194
+ "253 (173 @ Allentown and 80 @ Greensburg)": 253,
195
+ "9 Pennsylvania workers (209 total)": 9,
196
+ "105 (91 Temporary Layoffs and 14 Permanent Layoffs)": 105,
197
+ "60 (all employees work remotely)": None,
198
+ "206 (198 P/T and 8 F/T Employees)": 206,
199
+ "54 (All employees can be relocated to other Amazon Delivery Service Partners)": 54,
200
+ "179 (80 Marsden Employees and 99 Temporary Employees from both Express Labor & Integrated Staffing Agencies)": 179,
201
+ "9236 Nationwide; PA total pending verification": None,
202
+ "81 Total -- 13 of which reside in PA": 81,
168
203
  }
169
204
 
170
205
  def transform_date(self, value: str) -> typing.Optional[str]:
@@ -196,3 +231,13 @@ class Transformer(BaseTransformer):
196
231
  # value = value.split()[0].strip()
197
232
  # value = value.replace("‐", "")
198
233
  return super().transform_date(value)
234
+
235
+ def check_if_closure(self, row: typing.Dict) -> typing.Optional[bool]:
236
+ """Determine whether a row is a closure or not.
237
+
238
+ Args:
239
+ row (dict): The raw row of data.
240
+
241
+ Returns: A boolean or null
242
+ """
243
+ return "clos" in row["closure_or_layoff"].lower() or None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: warn-transformer
3
- Version: 1.3.275
3
+ Version: 1.3.277
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
@@ -36,7 +36,7 @@ warn_transformer/transformers/ny.py,sha256=YGlomU9-pr6dBLrR0xROL8jJzOwJWPGV01GSB
36
36
  warn_transformer/transformers/oh.py,sha256=ZTREXZgvurJjigJ-g38qBtiDmT4P1p5ZvOH0G7Y4Q9I,3273
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=Xk-kgEunbVkOUfW6ncbLEOOi5THDf_YagnihdCV5kD8,11960
39
+ warn_transformer/transformers/pa.py,sha256=h-bIOYeDMhmGf6TGAeSO7Xut4LvusNPAqJ0SDnoXhl0,13129
40
40
  warn_transformer/transformers/ri.py,sha256=nodHs6DIiZeReJo5R6kKQQiXecfrA2CdTgWc54xP-Z0,2270
41
41
  warn_transformer/transformers/sc.py,sha256=0GNL3aFCCNsVKtHpUfS-W7Tb5bDkNnTIUrqJwsSu31o,1911
42
42
  warn_transformer/transformers/sd.py,sha256=PYMbuI_va2lk8mZ92PG3ReXxm6J83wxW7-xf_Vxd2Nk,459
@@ -47,9 +47,9 @@ warn_transformer/transformers/va.py,sha256=vxlkvIgrphAUqqCKi_6xZ8raOEhbUpskBukKb
47
47
  warn_transformer/transformers/vt.py,sha256=5J9p7yexXmn4K3Pe0xIkPa9fR10DpZ2DSzvjkrDbCZs,452
48
48
  warn_transformer/transformers/wa.py,sha256=0addhlk4jBAfScVngCq8VUJvd-Bc8e1winPn8Lu2DZo,1111
49
49
  warn_transformer/transformers/wi.py,sha256=sM5KFkACDQ6dqiQ666wvZ8gJe47ywFVmM1hFbw8Io64,3019
50
- warn_transformer-1.3.275.dist-info/licenses/LICENSE,sha256=ZV-QHyqPwyMuwuj0lI05JeSjV1NyzVEk8Yeu7FPtYS0,585
51
- warn_transformer-1.3.275.dist-info/METADATA,sha256=WxxD-b52vDebUgOzxnPYvML6ulK_lUuL-M4bR7aCaj4,1740
52
- warn_transformer-1.3.275.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
53
- warn_transformer-1.3.275.dist-info/entry_points.txt,sha256=MvWNvQnZTu5Fbpd7JMN-KGPeklT6f5v6Hx39uqnBl28,62
54
- warn_transformer-1.3.275.dist-info/top_level.txt,sha256=8nZpmzmOcqSnismvY34muSX8MvaZM6aEfLldl-wp0fQ,17
55
- warn_transformer-1.3.275.dist-info/RECORD,,
50
+ warn_transformer-1.3.277.dist-info/licenses/LICENSE,sha256=ZV-QHyqPwyMuwuj0lI05JeSjV1NyzVEk8Yeu7FPtYS0,585
51
+ warn_transformer-1.3.277.dist-info/METADATA,sha256=4FJafRcQO0_ilkDzi-3kSwScwsERlfmAm8FQpABBVWw,1740
52
+ warn_transformer-1.3.277.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
53
+ warn_transformer-1.3.277.dist-info/entry_points.txt,sha256=MvWNvQnZTu5Fbpd7JMN-KGPeklT6f5v6Hx39uqnBl28,62
54
+ warn_transformer-1.3.277.dist-info/top_level.txt,sha256=8nZpmzmOcqSnismvY34muSX8MvaZM6aEfLldl-wp0fQ,17
55
+ warn_transformer-1.3.277.dist-info/RECORD,,