cs-models 0.0.769__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.

@@ -1,15 +1,16 @@
1
1
  from marshmallow import Schema, fields
2
+ from ...utils.utils import Safe13FDate
2
3
 
3
4
 
4
5
  class Coverpage13FSchema(Schema):
5
6
  ACCESSION_NUMBER = fields.String(required=True)
6
- REPORTCALENDARORQUARTER = fields.Date(required=True, format="%d-%b-%Y")
7
+ REPORTCALENDARORQUARTER = Safe13FDate(required=True)
7
8
  ISAMENDMENT = fields.String()
8
9
  AMENDMENTNO = fields.Integer()
9
10
  AMENDMENTTYPE = fields.String()
10
11
  CONFDENIEDEXPIRED = fields.String()
11
- DATEDENIEDEXPIRED = fields.Date(format="%d-%b-%Y")
12
- DATEREPORTED = fields.Date(format="%d-%b-%Y")
12
+ DATEDENIEDEXPIRED = Safe13FDate(allow_none=True)
13
+ DATEREPORTED = Safe13FDate(allow_none=True)
13
14
  REASONFORNONCONFIDENTIALITY = fields.String()
14
15
  FILINGMANAGER_NAME = fields.String(required=True)
15
16
  FILINGMANAGER_STREET1 = fields.String()
@@ -1,4 +1,5 @@
1
1
  from marshmallow import Schema, fields
2
+ from ...utils.utils import Safe13FDate
2
3
 
3
4
 
4
5
  class Signature13FSchema(Schema):
@@ -9,4 +10,4 @@ class Signature13FSchema(Schema):
9
10
  SIGNATURE = fields.String(required=True)
10
11
  CITY = fields.String(required=True)
11
12
  STATEORCOUNTRY = fields.String(required=True)
12
- SIGNATUREDATE = fields.Date(required=True, format="%d-%b-%Y")
13
+ SIGNATUREDATE = Safe13FDate(required=True)
@@ -1,9 +1,10 @@
1
1
  from marshmallow import Schema, fields
2
+ from ...utils.utils import Safe13FDate
2
3
 
3
4
 
4
5
  class Submission13FSchema(Schema):
5
6
  ACCESSION_NUMBER = fields.String(required=True)
6
- FILING_DATE = fields.Date(required=True, format="%d-%b-%Y")
7
+ FILING_DATE = Safe13FDate(required=True)
7
8
  SUBMISSIONTYPE = fields.String(required=True)
8
9
  CIK = fields.String(required=True)
9
- PERIODOFREPORT = fields.Date(required=True, format="%d-%b-%Y")
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
 
@@ -144,6 +144,19 @@ def pre_load_date_fields(in_data, date_fields, date_format='%m-%d-%Y'):
144
144
  return in_data
145
145
 
146
146
 
147
+ class Safe13FDate(fields.Date):
148
+ def __init__(self, format="%d-%b-%Y", **kwargs):
149
+ super().__init__(format=format, **kwargs)
150
+
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.")
158
+
159
+
147
160
  if __name__ == '__main__':
148
161
  from doctest import testmod
149
162
  testmod()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cs-models
3
- Version: 0.0.769
3
+ Version: 0.0.770
4
4
  Summary: MySQL db models
5
5
  Home-page: https://github.com/mindgram/cs-models
6
6
  Author: Shrey Verma
@@ -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=3WtOKLOVhtJK60Fn5-w_Qfi4jf19qrD_UWcn6JFFWso,1042
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=uG2Fmq9PMway83Ol-km35LNlPAJWFhAZzwFX2hY6zbE,437
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=P7o0buKt870uRULAuqodfyQaW8U8YCrF9bIUhDUs-9g,348
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=bY623DuzycfPQiaOQT2AxfANeWfwr5w76dBuQ813-ns,3664
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.769.dist-info/METADATA,sha256=la1Cvk116d-9pH70zSOypG2BQo5XOgrne2yCmC5FXHo,751
1271
- cs_models-0.0.769.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
1272
- cs_models-0.0.769.dist-info/top_level.txt,sha256=M7CA8Nh5t0vRManQ9gHfphhO16uhMqIbfaxr1jPDg18,10
1273
- cs_models-0.0.769.dist-info/RECORD,,
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,,