cs-models 0.0.768__py3-none-any.whl → 0.0.770__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 cs-models might be problematic. Click here for more details.
- cs_models/resources/CoverPage13F/schemas.py +5 -18
- cs_models/resources/Signature13F/schemas.py +3 -15
- cs_models/resources/Submission13F/schemas.py +4 -17
- cs_models/utils/utils.py +11 -26
- {cs_models-0.0.768.dist-info → cs_models-0.0.770.dist-info}/METADATA +1 -1
- {cs_models-0.0.768.dist-info → cs_models-0.0.770.dist-info}/RECORD +8 -8
- {cs_models-0.0.768.dist-info → cs_models-0.0.770.dist-info}/WHEEL +0 -0
- {cs_models-0.0.768.dist-info → cs_models-0.0.770.dist-info}/top_level.txt +0 -0
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
from marshmallow import Schema, fields
|
|
2
|
-
from ...utils.utils import
|
|
1
|
+
from marshmallow import Schema, fields
|
|
2
|
+
from ...utils.utils import Safe13FDate
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
class Coverpage13FSchema(Schema):
|
|
6
6
|
ACCESSION_NUMBER = fields.String(required=True)
|
|
7
|
-
REPORTCALENDARORQUARTER =
|
|
7
|
+
REPORTCALENDARORQUARTER = Safe13FDate(required=True)
|
|
8
8
|
ISAMENDMENT = fields.String()
|
|
9
9
|
AMENDMENTNO = fields.Integer()
|
|
10
10
|
AMENDMENTTYPE = fields.String()
|
|
11
11
|
CONFDENIEDEXPIRED = fields.String()
|
|
12
|
-
DATEDENIEDEXPIRED =
|
|
13
|
-
DATEREPORTED =
|
|
12
|
+
DATEDENIEDEXPIRED = Safe13FDate(allow_none=True)
|
|
13
|
+
DATEREPORTED = Safe13FDate(allow_none=True)
|
|
14
14
|
REASONFORNONCONFIDENTIALITY = fields.String()
|
|
15
15
|
FILINGMANAGER_NAME = fields.String(required=True)
|
|
16
16
|
FILINGMANAGER_STREET1 = fields.String()
|
|
@@ -25,16 +25,3 @@ class Coverpage13FSchema(Schema):
|
|
|
25
25
|
PROVIDEINFOFORINSTRUCTION5 = fields.String(required=True)
|
|
26
26
|
ADDITIONALINFORMATION = fields.String()
|
|
27
27
|
|
|
28
|
-
@pre_load
|
|
29
|
-
def convert_string_to_datetime(self, in_data, **kwargs):
|
|
30
|
-
date_fields = [
|
|
31
|
-
'REPORTCALENDARORQUARTER',
|
|
32
|
-
'DATEDENIEDEXPIRED',
|
|
33
|
-
'DATEREPORTED'
|
|
34
|
-
]
|
|
35
|
-
in_data = pre_load_date_date_fields(
|
|
36
|
-
in_data,
|
|
37
|
-
date_fields,
|
|
38
|
-
date_format="%d-%b-%Y",
|
|
39
|
-
)
|
|
40
|
-
return in_data
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
from marshmallow import Schema, fields
|
|
2
|
-
from ...utils.utils import
|
|
1
|
+
from marshmallow import Schema, fields
|
|
2
|
+
from ...utils.utils import Safe13FDate
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
class Signature13FSchema(Schema):
|
|
@@ -10,16 +10,4 @@ class Signature13FSchema(Schema):
|
|
|
10
10
|
SIGNATURE = fields.String(required=True)
|
|
11
11
|
CITY = fields.String(required=True)
|
|
12
12
|
STATEORCOUNTRY = fields.String(required=True)
|
|
13
|
-
SIGNATUREDATE =
|
|
14
|
-
|
|
15
|
-
@pre_load
|
|
16
|
-
def convert_string_to_datetime(self, in_data, **kwargs):
|
|
17
|
-
date_fields = [
|
|
18
|
-
'SIGNATUREDATE',
|
|
19
|
-
]
|
|
20
|
-
in_data = pre_load_date_date_fields(
|
|
21
|
-
in_data,
|
|
22
|
-
date_fields,
|
|
23
|
-
date_format="%d-%b-%Y",
|
|
24
|
-
)
|
|
25
|
-
return in_data
|
|
13
|
+
SIGNATUREDATE = Safe13FDate(required=True)
|
|
@@ -1,23 +1,10 @@
|
|
|
1
|
-
from marshmallow import Schema, fields
|
|
2
|
-
from ...utils.utils import
|
|
1
|
+
from marshmallow import Schema, fields
|
|
2
|
+
from ...utils.utils import Safe13FDate
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
class Submission13FSchema(Schema):
|
|
6
6
|
ACCESSION_NUMBER = fields.String(required=True)
|
|
7
|
-
FILING_DATE =
|
|
7
|
+
FILING_DATE = Safe13FDate(required=True)
|
|
8
8
|
SUBMISSIONTYPE = fields.String(required=True)
|
|
9
9
|
CIK = fields.String(required=True)
|
|
10
|
-
PERIODOFREPORT =
|
|
11
|
-
|
|
12
|
-
@pre_load
|
|
13
|
-
def convert_string_to_datetime(self, in_data, **kwargs):
|
|
14
|
-
date_fields = [
|
|
15
|
-
'FILING_DATE',
|
|
16
|
-
'PERIODOFREPORT',
|
|
17
|
-
]
|
|
18
|
-
in_data = pre_load_date_date_fields(
|
|
19
|
-
in_data,
|
|
20
|
-
date_fields,
|
|
21
|
-
date_format="%d-%b-%Y",
|
|
22
|
-
)
|
|
23
|
-
return in_data
|
|
10
|
+
PERIODOFREPORT = Safe13FDate(required=True)
|
cs_models/utils/utils.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import pytz
|
|
3
3
|
from datetime import datetime
|
|
4
|
-
from marshmallow import ValidationError
|
|
4
|
+
from marshmallow import ValidationError, fields
|
|
5
5
|
from sqlalchemy.sql.expression import ClauseElement
|
|
6
6
|
|
|
7
7
|
|
|
@@ -111,10 +111,6 @@ def convert_string_to_datetime(date, string_format='%Y-%m-%d'):
|
|
|
111
111
|
return datetime.strptime(date, string_format).isoformat()
|
|
112
112
|
|
|
113
113
|
|
|
114
|
-
def convert_string_to_date(date, string_format='%Y-%m-%d'):
|
|
115
|
-
return datetime.strptime(date, string_format).date()
|
|
116
|
-
|
|
117
|
-
|
|
118
114
|
def convert_datetime_to_string(date):
|
|
119
115
|
"""
|
|
120
116
|
>>> x = datetime(2017, 5, 16)
|
|
@@ -148,28 +144,17 @@ def pre_load_date_fields(in_data, date_fields, date_format='%m-%d-%Y'):
|
|
|
148
144
|
return in_data
|
|
149
145
|
|
|
150
146
|
|
|
151
|
-
|
|
152
|
-
""
|
|
153
|
-
|
|
147
|
+
class Safe13FDate(fields.Date):
|
|
148
|
+
def __init__(self, format="%d-%b-%Y", **kwargs):
|
|
149
|
+
super().__init__(format=format, **kwargs)
|
|
154
150
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
"""
|
|
163
|
-
for date_field in date_fields:
|
|
164
|
-
if date_field in in_data:
|
|
165
|
-
if in_data[date_field] in ['-', None]:
|
|
166
|
-
in_data[date_field] = None
|
|
167
|
-
else:
|
|
168
|
-
in_data[date_field] = convert_string_to_date(
|
|
169
|
-
date=in_data[date_field],
|
|
170
|
-
string_format=date_format,
|
|
171
|
-
)
|
|
172
|
-
return in_data
|
|
151
|
+
def _deserialize(self, value, attr, data, **kwargs):
|
|
152
|
+
if value in (None, ""):
|
|
153
|
+
return None
|
|
154
|
+
try:
|
|
155
|
+
return datetime.strptime(value, self.format).date()
|
|
156
|
+
except (ValueError, TypeError):
|
|
157
|
+
raise ValidationError("Not a valid date.")
|
|
173
158
|
|
|
174
159
|
|
|
175
160
|
if __name__ == '__main__':
|
|
@@ -222,7 +222,7 @@ cs_models/resources/Counsels/models.py,sha256=p8u93IonSVmPb5k0BlRv6HVW_PS9CY5xwF
|
|
|
222
222
|
cs_models/resources/Counsels/schemas.py,sha256=zO7ItcXvtDJgJFmtYCZm4wHFBPPhmj76TUc6VRwK0qI,423
|
|
223
223
|
cs_models/resources/CoverPage13F/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
224
224
|
cs_models/resources/CoverPage13F/models.py,sha256=2e9q0RMgtTXu0QonnOvLA5rJJ5xXN8RWXQjJi-AxD2w,1127
|
|
225
|
-
cs_models/resources/CoverPage13F/schemas.py,sha256=
|
|
225
|
+
cs_models/resources/CoverPage13F/schemas.py,sha256=tjoBVZGSTVcbgLVOrO16eufDSCr2mh0mbOcpudXdnwE,1058
|
|
226
226
|
cs_models/resources/CrawlerLog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
227
227
|
cs_models/resources/CrawlerLog/models.py,sha256=neo5PRROx9GxvjQNnukwKvVMGTqnXrXhN_jG_HWwFSE,985
|
|
228
228
|
cs_models/resources/CrawlerLog/schemas.py,sha256=2hqlZuM787N2ah8tb-CTGCAGBFgjsDafKApVvPYvxM8,1554
|
|
@@ -934,7 +934,7 @@ cs_models/resources/SearchLink/models.py,sha256=l1tPCSKHK7Wq1OUWFH72NYncEt6Q3bR0
|
|
|
934
934
|
cs_models/resources/SearchLink/schemas.py,sha256=A8Y6LRgw7MHs9bihf0gZPfqp6KDm0Z8k6PJSL9WVxsc,448
|
|
935
935
|
cs_models/resources/Signature13F/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
936
936
|
cs_models/resources/Signature13F/models.py,sha256=E-n7Fz1Lz7XOeD6H6Ca0TIe6ixxRXao0hWGGZJkr4m8,538
|
|
937
|
-
cs_models/resources/Signature13F/schemas.py,sha256=
|
|
937
|
+
cs_models/resources/Signature13F/schemas.py,sha256=5I0yQ5amGPQg2yoklmtJJ4HiQe14kNpw7OCUXFmrm1o,457
|
|
938
938
|
cs_models/resources/SmartGrid/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
939
939
|
cs_models/resources/SmartGrid/models.py,sha256=9weIkYbh-Y-My5vjjUP-N-ziSNV-AWww1UUltK8EIy0,1011
|
|
940
940
|
cs_models/resources/SmartGrid/schemas.py,sha256=v5iG5dsEDnRp8P3UKba7uN39ZD_hqPvfLWyX1ltKKjM,665
|
|
@@ -946,7 +946,7 @@ cs_models/resources/Stream/models.py,sha256=wXb7yOjW82ZqmLhRcDhjLPk6_WJ5FGmvKpOc
|
|
|
946
946
|
cs_models/resources/Stream/schemas.py,sha256=ZFsdEKINFGaSBUAcQQvilq5MKpYGliZseguQoc_opxk,3111
|
|
947
947
|
cs_models/resources/Submission13F/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
948
948
|
cs_models/resources/Submission13F/models.py,sha256=T5Eky-8itEcZRY18Gbx3X0XLGVVZ03aVUyLtUngEf9U,411
|
|
949
|
-
cs_models/resources/Submission13F/schemas.py,sha256=
|
|
949
|
+
cs_models/resources/Submission13F/schemas.py,sha256=0OKI8QdO2BGj_rNBtpQovzFEQ4OkF7Zu69XmYejJcg4,349
|
|
950
950
|
cs_models/resources/Subsidiary/__init__.py,sha256=VmclFNMwdFXNcE9RKe-Dvl_V-OmomBK8YxeyegHMbIY,3357
|
|
951
951
|
cs_models/resources/Subsidiary/models.py,sha256=C_DcgEhel41dNcq3YX4SI9uRmGt_MZZi10SNDpPdQmc,695
|
|
952
952
|
cs_models/resources/Subsidiary/schemas.py,sha256=DcAyO5t4KWD7fR3_D_zrc5AORkMgUbGs_Z_Q-pLWwLM,1288
|
|
@@ -1265,9 +1265,9 @@ cs_models/resources_mongo/DocumentTree/__init__.py,sha256=0dRx5h5Y2cKgNH0F0FyfoY
|
|
|
1265
1265
|
cs_models/resources_mongo/DocumentTree/schemas.py,sha256=gzKFDivnNKmUuLetsP6eBgrtD_JjFwIDSmBT9xtHRX4,416
|
|
1266
1266
|
cs_models/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1267
1267
|
cs_models/utils/alchemy.py,sha256=fhINGFn41owJ2DLXQKXAAtLqeZ1BRzD_qU0wPK_bsGQ,1598
|
|
1268
|
-
cs_models/utils/utils.py,sha256=
|
|
1268
|
+
cs_models/utils/utils.py,sha256=Nxo-8VpGqppAHNqmmhSmz1NiNNvPYBFt17zlUYvL1xk,4095
|
|
1269
1269
|
cs_models/utils/profiling/__init__.py,sha256=N-73vb0M92C975fxgXyBCBjCPELl8Oh21ZY_-tzDnns,569
|
|
1270
|
-
cs_models-0.0.
|
|
1271
|
-
cs_models-0.0.
|
|
1272
|
-
cs_models-0.0.
|
|
1273
|
-
cs_models-0.0.
|
|
1270
|
+
cs_models-0.0.770.dist-info/METADATA,sha256=pe6Fo2pFvUbLrnANfuJF9bxcZtNw5BuOLjqm9yqxv-o,751
|
|
1271
|
+
cs_models-0.0.770.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
1272
|
+
cs_models-0.0.770.dist-info/top_level.txt,sha256=M7CA8Nh5t0vRManQ9gHfphhO16uhMqIbfaxr1jPDg18,10
|
|
1273
|
+
cs_models-0.0.770.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|