warn-transformer 1.3.281__py3-none-any.whl → 1.3.283__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.
- warn_transformer/transformers/ct.py +91 -13
- warn_transformer/transformers/nj.py +1 -0
- {warn_transformer-1.3.281.dist-info → warn_transformer-1.3.283.dist-info}/METADATA +1 -1
- {warn_transformer-1.3.281.dist-info → warn_transformer-1.3.283.dist-info}/RECORD +8 -8
- {warn_transformer-1.3.281.dist-info → warn_transformer-1.3.283.dist-info}/WHEEL +0 -0
- {warn_transformer-1.3.281.dist-info → warn_transformer-1.3.283.dist-info}/entry_points.txt +0 -0
- {warn_transformer-1.3.281.dist-info → warn_transformer-1.3.283.dist-info}/licenses/LICENSE +0 -0
- {warn_transformer-1.3.281.dist-info → warn_transformer-1.3.283.dist-info}/top_level.txt +0 -0
|
@@ -4,18 +4,20 @@ 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="
|
|
14
|
-
notice_date="
|
|
15
|
-
effective_date="
|
|
16
|
-
jobs="
|
|
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
|
|
19
|
+
date_format = ["%Y-%m-%d", "%Y-%m-%dT%H:%M:%S+00.00", "%m/%d/%Y"]
|
|
20
|
+
# date_format = ["%m/%d/%Y", "%m/%d/%y", "%m-%d-%y", "%Y"]
|
|
19
21
|
date_corrections = {
|
|
20
22
|
"12/31/16-1/13/17": datetime(2016, 12, 31),
|
|
21
23
|
"12/4/15-tbd": datetime(2015, 12, 4),
|
|
@@ -47,6 +49,77 @@ class Transformer(BaseTransformer):
|
|
|
47
49
|
"9/92024": datetime(2024, 9, 9),
|
|
48
50
|
"4/112025": datetime(2025, 4, 11),
|
|
49
51
|
"3/31/2025,": datetime(2025, 3, 31),
|
|
52
|
+
"11/24/2025 - 4/1/2026": datetime(2025, 11, 24),
|
|
53
|
+
"February 15, 2025, through February 28, 2025": datetime(2025, 2, 15),
|
|
54
|
+
"April 12, 2025": datetime(2025, 4, 12),
|
|
55
|
+
"March 21, 2025": datetime(2025, 3, 21),
|
|
56
|
+
"8/2/2019, 12/13/2029": datetime(2019, 8, 2),
|
|
57
|
+
"June 29, 2025": datetime(2025, 6, 29),
|
|
58
|
+
"6/3/2023, 12/31/2023": datetime(2023, 6, 3),
|
|
59
|
+
"09/15/2020,12/17/2020": datetime(2020, 9, 15),
|
|
60
|
+
"03/28/2020, 04/01/2020": datetime(2020, 3, 28),
|
|
61
|
+
"June 10, 2025": datetime(2025, 6, 10),
|
|
62
|
+
"05/10/2020,05/23/2020": datetime(2020, 5, 10),
|
|
63
|
+
"August 23, 2024": datetime(2024, 8, 23),
|
|
64
|
+
"April 30, 2025. Additional layoffs are scheduled for June 20, 2025 and July 30, 2025": datetime(
|
|
65
|
+
2025, 4, 30
|
|
66
|
+
),
|
|
67
|
+
"April 25, 2025-July 3 1 , 2025.": datetime(2025, 4, 25),
|
|
68
|
+
"03/20/2020,04/03/2020,04/07/2020": datetime(2020, 3, 20),
|
|
69
|
+
"02/26/2022,03/11/2022": datetime(2022, 2, 26),
|
|
70
|
+
"December 2, 2025": datetime(2025, 12, 2),
|
|
71
|
+
"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(
|
|
72
|
+
2023, 8, 4
|
|
73
|
+
),
|
|
74
|
+
"10/10/2020,10/23/2020": datetime(2020, 10, 10),
|
|
75
|
+
"June 7, 2025": datetime(2025, 6, 7),
|
|
76
|
+
"04/01/2020,06/30/2020": datetime(2020, 4, 1),
|
|
77
|
+
"February 10th, 2025 through February 24, 2025": datetime(2025, 2, 10),
|
|
78
|
+
"02 /01/2023 ,03/01/2023": datetime(2023, 2, 1),
|
|
79
|
+
"July 5th, 2024": datetime(2024, 7, 5),
|
|
80
|
+
"02/01/2023,03/01/2023": datetime(2023, 2, 1),
|
|
81
|
+
"7/15/2025, 7/29/2025": datetime(2025, 7, 15),
|
|
82
|
+
"12/8/24 through 12/21/24": datetime(2024, 12, 8),
|
|
83
|
+
"08/20/2023, 09/02/2023": datetime(2023, 8, 20),
|
|
84
|
+
"08/17/2020,08/30/2020": datetime(2020, 8, 17),
|
|
85
|
+
"3/10/2020,4/07/2020": datetime(2020, 3, 10),
|
|
86
|
+
"March 25, 2025": datetime(2025, 3, 25),
|
|
87
|
+
"03/25/2020,03/28/2020": datetime(2020, 3, 25),
|
|
88
|
+
"09/15/2023, 09/23/2023, 11/17/2023, 12/1/2023": datetime(2023, 9, 15),
|
|
89
|
+
"1/13/25, 2/13/25": datetime(2025, 1, 13),
|
|
90
|
+
"01/03/2020,05/30/2020": datetime(2020, 1, 3),
|
|
91
|
+
"05/01/2020,07/06/2020": datetime(2020, 5, 1),
|
|
92
|
+
"03/26/2020, 04/16/2020,05/10/2020": datetime(2020, 3, 26),
|
|
93
|
+
"3/13/2020, 3/20/2020, 4/6/2020,4/19/2020": datetime(2020, 3, 13),
|
|
94
|
+
"September 27, 2024": datetime(2024, 9, 27),
|
|
95
|
+
"09/08/2020,09/22/2020": datetime(2020, 9, 8),
|
|
96
|
+
"09/15/2020,03/17/2021": datetime(2020, 9, 15),
|
|
97
|
+
"03/23/2020, 03/26/2020": datetime(2020, 3, 23),
|
|
98
|
+
"12/20/2024, 1/31/25, 2/14/25, 2/21/25": datetime(2024, 12, 20),
|
|
99
|
+
"04/10/2020,04/22/2020": datetime(2020, 4, 10),
|
|
100
|
+
"10/12/2025 - 10/25/2025": datetime(2025, 10, 12),
|
|
101
|
+
"March, 2025": datetime(2025, 3, 1),
|
|
102
|
+
"5/17/24": datetime(2024, 5, 17),
|
|
103
|
+
"August 24, 2024": datetime(2024, 8, 24),
|
|
104
|
+
"10/21/2023, 10/28/2023, 11/04/2023, 11/18/2023, 11/25/2023, 12/30/2025": datetime(
|
|
105
|
+
2023, 10, 21
|
|
106
|
+
),
|
|
107
|
+
"04/14/2023, 05/13/2023 - 05/27/2023, 06/12/2023-08/11/2023, 06/12/2023-06/26/2023": datetime(
|
|
108
|
+
2023, 4, 14
|
|
109
|
+
),
|
|
110
|
+
"8/2/2019-12/31/2019": datetime(2019, 8, 2),
|
|
111
|
+
"9/21/2025 - 10/4/2025": datetime(2025, 9, 21),
|
|
112
|
+
"January 25, 2025 through February 7, 2025": datetime(2025, 1, 25),
|
|
113
|
+
"March 31, 2025, June 30, 2025, and September 30, 2025": datetime(2025, 3, 31),
|
|
114
|
+
"4/2/24": datetime(2024, 4, 2),
|
|
115
|
+
"9/9/24": datetime(2024, 9, 9),
|
|
116
|
+
"5/15/24": datetime(2024, 5, 15),
|
|
117
|
+
"3/22/25": datetime(2025, 3, 22),
|
|
118
|
+
"5/31/24": datetime(2024, 5, 31),
|
|
119
|
+
"10/2/23": datetime(2023, 10, 2),
|
|
120
|
+
"0025-05-16": datetime(2025, 5, 16),
|
|
121
|
+
"0024-05-31": datetime(2024, 5, 31),
|
|
122
|
+
"0005-02-04": datetime(2025, 2, 4),
|
|
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
|
-
|
|
117
|
-
"""
|
|
118
|
-
|
|
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
|
|
@@ -185,6 +185,7 @@ class Transformer(BaseTransformer):
|
|
|
185
185
|
"11/19/25 - 12/15/25": datetime(2025, 11, 19),
|
|
186
186
|
"1/23/26 & 2/13/26": datetime(2026, 1, 23),
|
|
187
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),
|
|
188
189
|
}
|
|
189
190
|
|
|
190
191
|
def transform_jobs(self, value: str) -> typing.Optional[int]:
|
|
@@ -11,7 +11,7 @@ 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=
|
|
14
|
+
warn_transformer/transformers/ct.py,sha256=gLcKpTWqe2VdVJN2bPbbonOY-Ep78yatOoR68T4jdSM,8407
|
|
15
15
|
warn_transformer/transformers/dc.py,sha256=lFVj8neBO7ePlt9DrbTvwNw7RBDvfJTvLw65HNz5YDw,2881
|
|
16
16
|
warn_transformer/transformers/de.py,sha256=QTvAVeR9A_cqLKBPf1ELL1PzYixazOsPIbLipJqyTrI,344
|
|
17
17
|
warn_transformer/transformers/fl.py,sha256=2MyAh34od1aJoc_P2-bGLCWljmhDmPGPsHW3xTDUsvM,1879
|
|
@@ -30,7 +30,7 @@ warn_transformer/transformers/mi.py,sha256=fXKiv-Slgh34tpKGPZiNs0hVd2mDqiaOP2ZEa
|
|
|
30
30
|
warn_transformer/transformers/mo.py,sha256=NYmHMISfXawIoIm00Bsvjzjw4TGAxbsHiS8MQ6oYEdk,1709
|
|
31
31
|
warn_transformer/transformers/mt.py,sha256=QSSlo3BFjJklcE4e6tUu_vJa1H887XeDXdxsCY0LGm0,762
|
|
32
32
|
warn_transformer/transformers/ne.py,sha256=WqUkSsoR9a2Oi4Y7sjOqH3C2lbbaYWQzFCvhme2iNKo,982
|
|
33
|
-
warn_transformer/transformers/nj.py,sha256=
|
|
33
|
+
warn_transformer/transformers/nj.py,sha256=YHA1IXCojgPUJOQL03Cg9nGWCXf45rtLb-6_ZO8Mbw4,10126
|
|
34
34
|
warn_transformer/transformers/nm.py,sha256=w_u9AmXyc-VCqnspTvuUNlP2cwqjwSRvqeVHwQoLux0,664
|
|
35
35
|
warn_transformer/transformers/ny.py,sha256=YGlomU9-pr6dBLrR0xROL8jJzOwJWPGV01GSByqUHds,2559
|
|
36
36
|
warn_transformer/transformers/oh.py,sha256=ZTREXZgvurJjigJ-g38qBtiDmT4P1p5ZvOH0G7Y4Q9I,3273
|
|
@@ -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.
|
|
51
|
-
warn_transformer-1.3.
|
|
52
|
-
warn_transformer-1.3.
|
|
53
|
-
warn_transformer-1.3.
|
|
54
|
-
warn_transformer-1.3.
|
|
55
|
-
warn_transformer-1.3.
|
|
50
|
+
warn_transformer-1.3.283.dist-info/licenses/LICENSE,sha256=ZV-QHyqPwyMuwuj0lI05JeSjV1NyzVEk8Yeu7FPtYS0,585
|
|
51
|
+
warn_transformer-1.3.283.dist-info/METADATA,sha256=g2ndbW5lwUimtBel66evpSq-rqQhh9939s-Fh6YJeLo,1740
|
|
52
|
+
warn_transformer-1.3.283.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
|
|
53
|
+
warn_transformer-1.3.283.dist-info/entry_points.txt,sha256=MvWNvQnZTu5Fbpd7JMN-KGPeklT6f5v6Hx39uqnBl28,62
|
|
54
|
+
warn_transformer-1.3.283.dist-info/top_level.txt,sha256=8nZpmzmOcqSnismvY34muSX8MvaZM6aEfLldl-wp0fQ,17
|
|
55
|
+
warn_transformer-1.3.283.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|