transdesk-importer-python-sdk 1.3.0__tar.gz → 1.3.1__tar.gz
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.
- {transdesk_importer_python_sdk-1.3.0/src/transdesk_importer_python_sdk.egg-info → transdesk_importer_python_sdk-1.3.1}/PKG-INFO +1 -1
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/pyproject.toml +1 -1
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/shared/data_normalizer.py +24 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/transformers/internal/internal_mapper.py +6 -3
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1/src/transdesk_importer_python_sdk.egg-info}/PKG-INFO +1 -1
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/tests/test_data_normalizer.py +17 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/tests/test_vehicle_details.py +11 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/LICENSE +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/README.md +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/setup.cfg +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/__init__.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/client.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/exporters/__init__.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/exporters/json_exporter.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/models/__init__.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/models/canonical.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/models/internal.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/readers/__init__.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/readers/excel_reader.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/shared/__init__.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/transformers/__init__.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/transformers/canonical/__init__.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/transformers/canonical/apolice_builder.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/transformers/canonical/cobertura_builder.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/transformers/canonical/item_classifier.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/transformers/internal/__init__.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/transformers/internal/coverage_mapper.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/transformers/internal/rcf_parser.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/transformers/internal/towing_parser.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/validators/__init__.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk/importer/validators/internal_policy_validator.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk_importer_python_sdk.egg-info/SOURCES.txt +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk_importer_python_sdk.egg-info/dependency_links.txt +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk_importer_python_sdk.egg-info/requires.txt +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/src/transdesk_importer_python_sdk.egg-info/top_level.txt +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/tests/test_excel_reader.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/tests/test_importer.py +0 -0
- {transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/tests/test_validator.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: transdesk-importer-python-sdk
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.1
|
|
4
4
|
Summary: SDK de leitura/transformacao de planilhas de apolices Transdesk para o formato interno 77seg
|
|
5
5
|
Author-email: FMConsult <contato@fmconsult.com.br>
|
|
6
6
|
License: MIT License
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "transdesk-importer-python-sdk"
|
|
7
|
-
version = "1.3.
|
|
7
|
+
version = "1.3.1"
|
|
8
8
|
description = "SDK de leitura/transformacao de planilhas de apolices Transdesk para o formato interno 77seg"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
@@ -49,6 +49,30 @@ class DataNormalizer:
|
|
|
49
49
|
except Exception:
|
|
50
50
|
return None
|
|
51
51
|
|
|
52
|
+
@staticmethod
|
|
53
|
+
def parse_vehicle_years(value):
|
|
54
|
+
"""Converte ANO da planilha em (ano_fabricacao, ano_modelo).
|
|
55
|
+
|
|
56
|
+
Aceita:
|
|
57
|
+
- ``2022`` → (2022, 2022)
|
|
58
|
+
- ``2014/2014`` ou ``2022/2023`` → (fab, mod)
|
|
59
|
+
"""
|
|
60
|
+
if value in (None, ""):
|
|
61
|
+
return None, None
|
|
62
|
+
|
|
63
|
+
text = str(value).strip()
|
|
64
|
+
if not text:
|
|
65
|
+
return None, None
|
|
66
|
+
|
|
67
|
+
if "/" in text:
|
|
68
|
+
left, _, right = text.partition("/")
|
|
69
|
+
fab = DataNormalizer.to_int(left)
|
|
70
|
+
mod = DataNormalizer.to_int(right)
|
|
71
|
+
return fab, mod
|
|
72
|
+
|
|
73
|
+
year = DataNormalizer.to_int(text)
|
|
74
|
+
return year, year
|
|
75
|
+
|
|
52
76
|
@staticmethod
|
|
53
77
|
def to_str(value):
|
|
54
78
|
if value in (None, ""):
|
|
@@ -245,9 +245,12 @@ class InternalMapper:
|
|
|
245
245
|
getattr(risco, "renavam", None)
|
|
246
246
|
)
|
|
247
247
|
internal_item.color = getattr(risco, "cor", None) or None
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
248
|
+
# Planilha TransDesk: ANO como "2022" ou "2014/2015" (fab/mod).
|
|
249
|
+
fab_year, mod_year = DataNormalizer.parse_vehicle_years(
|
|
250
|
+
getattr(risco, "ano", None)
|
|
251
|
+
)
|
|
252
|
+
internal_item.manufacture_year = fab_year
|
|
253
|
+
internal_item.model_year = mod_year
|
|
251
254
|
internal_item.axles = DataNormalizer.to_int(getattr(risco, "eixos", None))
|
|
252
255
|
internal_item.transmission = getattr(risco, "cambio", None) or None
|
|
253
256
|
internal_item.is_alienated = DataNormalizer.to_bool(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: transdesk-importer-python-sdk
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.1
|
|
4
4
|
Summary: SDK de leitura/transformacao de planilhas de apolices Transdesk para o formato interno 77seg
|
|
5
5
|
Author-email: FMConsult <contato@fmconsult.com.br>
|
|
6
6
|
License: MIT License
|
|
@@ -24,3 +24,20 @@ from transdesk.importer.shared.data_normalizer import DataNormalizer
|
|
|
24
24
|
)
|
|
25
25
|
def test_to_bool(value, expected):
|
|
26
26
|
assert DataNormalizer.to_bool(value) is expected
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
@pytest.mark.parametrize(
|
|
30
|
+
"value,expected",
|
|
31
|
+
[
|
|
32
|
+
(None, (None, None)),
|
|
33
|
+
("", (None, None)),
|
|
34
|
+
("2022", (2022, 2022)),
|
|
35
|
+
("2014/2014", (2014, 2014)),
|
|
36
|
+
("2022/2023", (2022, 2023)),
|
|
37
|
+
(" 2011 / 2012 ", (2011, 2012)),
|
|
38
|
+
("abc", (None, None)),
|
|
39
|
+
("2022/abc", (2022, None)),
|
|
40
|
+
],
|
|
41
|
+
)
|
|
42
|
+
def test_parse_vehicle_years(value, expected):
|
|
43
|
+
assert DataNormalizer.parse_vehicle_years(value) == expected
|
|
@@ -63,6 +63,17 @@ def test_vehicle_details_mapped_from_spreadsheet_columns():
|
|
|
63
63
|
assert item.vehicle_tracker_company is None
|
|
64
64
|
|
|
65
65
|
|
|
66
|
+
def test_vehicle_years_from_fab_mod_slash_format():
|
|
67
|
+
"""Carga TransDesk real usa ANO como ``fab/mod`` (ex.: 2014/2014)."""
|
|
68
|
+
item = _build_item([_base_row(ANO="2014/2014")])
|
|
69
|
+
assert item.manufacture_year == 2014
|
|
70
|
+
assert item.model_year == 2014
|
|
71
|
+
|
|
72
|
+
item2 = _build_item([_base_row(ANO="2022/2023")])
|
|
73
|
+
assert item2.manufacture_year == 2022
|
|
74
|
+
assert item2.model_year == 2023
|
|
75
|
+
|
|
76
|
+
|
|
66
77
|
def test_vehicle_tracker_company_only_when_has_tracker():
|
|
67
78
|
with_tracker = _build_item([
|
|
68
79
|
_base_row(NME_BENEFICIO="Casco PT (VEÍCULO)", VALOR_MENSALIDADE="100.00"),
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/tests/test_importer.py
RENAMED
|
File without changes
|
{transdesk_importer_python_sdk-1.3.0 → transdesk_importer_python_sdk-1.3.1}/tests/test_validator.py
RENAMED
|
File without changes
|