elody 0.0.202__py3-none-any.whl → 0.0.205__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.
- elody/csv.py +14 -3
- elody/error_codes.py +1 -0
- {elody-0.0.202.dist-info → elody-0.0.205.dist-info}/METADATA +1 -1
- {elody-0.0.202.dist-info → elody-0.0.205.dist-info}/RECORD +7 -7
- {elody-0.0.202.dist-info → elody-0.0.205.dist-info}/WHEEL +0 -0
- {elody-0.0.202.dist-info → elody-0.0.205.dist-info}/licenses/LICENSE +0 -0
- {elody-0.0.202.dist-info → elody-0.0.205.dist-info}/top_level.txt +0 -0
elody/csv.py
CHANGED
|
@@ -210,10 +210,14 @@ class CSVMultiObject(CSVParser):
|
|
|
210
210
|
|
|
211
211
|
def is_datetime(self, value):
|
|
212
212
|
try:
|
|
213
|
-
|
|
214
|
-
return True
|
|
215
|
-
except (ValueError, TypeError):
|
|
213
|
+
int(value)
|
|
216
214
|
return False
|
|
215
|
+
except (ValueError, TypeError):
|
|
216
|
+
try:
|
|
217
|
+
parser.parse(value)
|
|
218
|
+
return True
|
|
219
|
+
except (ValueError, TypeError):
|
|
220
|
+
return False
|
|
217
221
|
|
|
218
222
|
def parse_datetime(self, value):
|
|
219
223
|
return parser.parse(value)
|
|
@@ -270,6 +274,13 @@ class CSVMultiObject(CSVParser):
|
|
|
270
274
|
for key, value in row.items():
|
|
271
275
|
if not value:
|
|
272
276
|
continue
|
|
277
|
+
if not key or isinstance(value, list):
|
|
278
|
+
if len(value) == 1 and value[0] == '':
|
|
279
|
+
continue
|
|
280
|
+
if "invalid_value" not in self.get_errors():
|
|
281
|
+
self.set_error("invalid_value", list())
|
|
282
|
+
message = f'{get_error_code(ErrorCode.INVALID_VALUE, get_write())} | value:{value} | line_number:{row_number} - The value "{value}" is invalid, most likely caused by exceeding allowed columns.'
|
|
283
|
+
self.get_errors()["invalid_value"].append(message)
|
|
273
284
|
original_value = value
|
|
274
285
|
if key != identifying_column:
|
|
275
286
|
value = value.lower()
|
elody/error_codes.py
CHANGED
|
@@ -75,6 +75,7 @@ class ErrorCode(Enum):
|
|
|
75
75
|
INVALID_ACCEPT_HEADER = ("5015", [])
|
|
76
76
|
INVALID_VALUE = ("5016", ["value", "options", "line_number"])
|
|
77
77
|
ITEM_WITH_VALUE_FOR_KEY_NOT_FOUND = ("5017", ["key", "value", "line_number"])
|
|
78
|
+
ITEM_WITH_VALUE_FOR_KEY_NOT_UNIQUE = ("5018", ["key", "value", "line_number"])
|
|
78
79
|
|
|
79
80
|
# Filter error codes
|
|
80
81
|
NO_MATCHER_FOR_FILTER_REQUEST = ("6001", [])
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
elody/__init__.py,sha256=d0Q6Fn44e7wFfLabDOBxpcJ1DPKWlFunGYDUBmO-4hA,22
|
|
3
3
|
elody/client.py,sha256=15SBfnLHJXXY5Vf5BnkWdjtvkH21E_AsWTzm2-zcbf0,8799
|
|
4
|
-
elody/csv.py,sha256=
|
|
5
|
-
elody/error_codes.py,sha256=
|
|
4
|
+
elody/csv.py,sha256=kDbJS2EevC1wVsnC0fA9opIEqIHCDYla1bWKd4fQa2M,16761
|
|
5
|
+
elody/error_codes.py,sha256=d3wNPZU0HFMyl8xN95ciNd6QD94al1tX18h6HiqiAHo,4310
|
|
6
6
|
elody/exceptions.py,sha256=5KSw2sPCZz3lDIJX4LiR2iL9n4m4KIil04D1d3X5rd0,968
|
|
7
7
|
elody/job.py,sha256=3_heLwfNrWYcjIMKPG-vWsQayAAI7tyLFUUC_b1rT7w,4264
|
|
8
8
|
elody/loader.py,sha256=yNakab07ja478gZaIC277n8Wf8SJ7_P3q-Z39BDdWQc,5419
|
|
@@ -34,13 +34,13 @@ elody/policies/authorization/mediafile_derivatives_policy.py,sha256=OwNpbS8i7-Lz
|
|
|
34
34
|
elody/policies/authorization/mediafile_download_policy.py,sha256=XMsKavBucmTh4W1kWOzpFWxJ_ZXgHVK1RS7JB4HjtQo,1979
|
|
35
35
|
elody/policies/authorization/multi_tenant_policy.py,sha256=SA9H7SBjzuh8mY3gYN7pDG8TV7hdI3GEUtNeiZeNL3M,3164
|
|
36
36
|
elody/policies/authorization/tenant_request_policy.py,sha256=dEgblwRAqwWVcE-O7Jn8hVL3OnwDlQhDEOcPlcElBrk,1185
|
|
37
|
-
elody-0.0.
|
|
37
|
+
elody-0.0.205.dist-info/licenses/LICENSE,sha256=gXf5dRMhNSbfLPYYTY_5hsZ1r7UU1OaKQEAQUhuIBkM,18092
|
|
38
38
|
tests/__init_.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
39
39
|
tests/data.py,sha256=Q3oxduf-E3m-Z5G_p3fcs8jVy6g10I7zXKL1m94UVMI,2906
|
|
40
40
|
tests/unit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
41
|
tests/unit/test_csv.py,sha256=NQaOhehfQ4GuXku0Y1SA8DYjJeqqidbF50zEHAi8RZA,15923
|
|
42
42
|
tests/unit/test_utils.py,sha256=g63szcEZyHhCOtrW4BnNbcgVca3oYPIOLjBdIzNwwN0,8784
|
|
43
|
-
elody-0.0.
|
|
44
|
-
elody-0.0.
|
|
45
|
-
elody-0.0.
|
|
46
|
-
elody-0.0.
|
|
43
|
+
elody-0.0.205.dist-info/METADATA,sha256=hiH-in5z0332QcYlKaREv1-8WKrLMO7xIt4V7cffp0Y,23358
|
|
44
|
+
elody-0.0.205.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
45
|
+
elody-0.0.205.dist-info/top_level.txt,sha256=E0mImupLj0KmtUUCXRYEoLDRaSkuiGaOIIseAa0oQ-M,21
|
|
46
|
+
elody-0.0.205.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|