libredte-lib-sdk 0.5.0__tar.gz → 0.5.2__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.
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/PKG-INFO +1 -1
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/identifier/models.py +8 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/exceptions.py +21 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/pyproject.toml +1 -1
- libredte_lib_sdk-0.5.2/tests/test_exceptions.py +98 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/test_models.py +27 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/.claude/scheduled_tasks.lock +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/.github/workflows/ci.yml +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/.github/workflows/docs.yml +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/.gitignore +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/.readthedocs.yaml +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/CLAUDE.md +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/LICENSE +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/Makefile +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/README.rst +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/docs/Makefile +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/docs/conf.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/docs/index.rst +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/__init__.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/__init__.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/book/__init__.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/book/builder.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/book/loader.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/book/models.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/book/validator.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/common.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/document/__init__.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/document/builder.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/document/dispatcher.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/document/examples.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/document/loader.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/document/models.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/document/renderer.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/document/validator.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/enums.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/exchange/__init__.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/exchange/document_response.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/exchange/models.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/identifier/__init__.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/identifier/caf_faker.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/identifier/caf_loader.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/identifier/caf_validator.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/integration/__init__.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/integration/models.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/integration/sii_dte.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/integration/sii_rcv.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/integration/sii_rtc.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/ownership_transfer/__init__.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/ownership_transfer/aec.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/ownership_transfer/models.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/trading_parties/__init__.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/trading_parties/mandatario_manager.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/trading_parties/models.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/client.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/human_resources/__init__.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/human_resources/integration/__init__.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/human_resources/integration/previred_provider.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/human_resources/payroll/__init__.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/human_resources/payroll/calculator.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/human_resources/payroll/renderer.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/py.typed +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/sdk.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/system/__init__.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/system/certificate/__init__.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/system/certificate/loader.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/system/repository/__init__.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/system/repository/catalog.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/__init__.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/conftest.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/integration/__init__.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/integration/conftest.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/integration/test_book.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/integration/test_caf.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/integration/test_certificate_loader.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/integration/test_document_loader.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/integration/test_document_rendering.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/integration/test_document_validation.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/integration/test_examples.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/integration/test_exchange.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/integration/test_human_resources.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/integration/test_operation_not_found.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/integration/test_ownership_transfer.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/integration/test_repository.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/test_client.py +0 -0
- {libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/test_services.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: libredte-lib-sdk
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.2
|
|
4
4
|
Summary: SDK Python para la API de LibreDTE Lib (facturacion electronica de Chile).
|
|
5
5
|
Project-URL: Homepage, https://www.libredte.cl
|
|
6
6
|
Project-URL: Source, https://github.com/libredte/libredte-lib-sdk-python
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/identifier/models.py
RENAMED
|
@@ -47,6 +47,14 @@ class Caf(XmlPayloadMixin):
|
|
|
47
47
|
def from_api(cls, data: dict[str, Any]) -> Caf:
|
|
48
48
|
"""Construye un `Caf` desde el `data` que devuelve la API."""
|
|
49
49
|
ambiente = data.get('ambiente')
|
|
50
|
+
if isinstance(ambiente, dict):
|
|
51
|
+
# La API serializa el enum de PHP (`SiiEnvironment: int`,
|
|
52
|
+
# caso `STAGING = 1` allá) como `{"name": ..., "value":
|
|
53
|
+
# ...}` — el nombre no calza con el de acá (`CERTIFICATION`
|
|
54
|
+
# en vez de `STAGING`, mismo ambiente de certificación del
|
|
55
|
+
# SII), pero el `value` entero sí es el mismo en ambos
|
|
56
|
+
# lados, así que se arma el enum desde ahí.
|
|
57
|
+
ambiente = ambiente.get('value')
|
|
50
58
|
return cls(
|
|
51
59
|
id=data['id'],
|
|
52
60
|
emisor=data['emisor'],
|
|
@@ -60,6 +60,27 @@ class LibreDteApiError(LibreDteSdkError):
|
|
|
60
60
|
return throwable.get('class')
|
|
61
61
|
return None
|
|
62
62
|
|
|
63
|
+
@property
|
|
64
|
+
def full_message(self) -> str:
|
|
65
|
+
"""
|
|
66
|
+
`title` + `detail` + dónde ocurrió, listo para loguear o mostrar.
|
|
67
|
+
|
|
68
|
+
Agrega el archivo y línea (`extensions.throwable.file`/`.line`)
|
|
69
|
+
cuando la API los informó, sin necesidad de ir a inspeccionar
|
|
70
|
+
`extensions` a mano cada vez. Si `detail` está vacío o repite
|
|
71
|
+
`title`, no lo duplica; si no hay `file`/`line`, los omite.
|
|
72
|
+
"""
|
|
73
|
+
message = self.title
|
|
74
|
+
if self.detail and self.detail != self.title:
|
|
75
|
+
message = f'{message}: {self.detail}'
|
|
76
|
+
throwable = self.extensions.get('throwable')
|
|
77
|
+
if isinstance(throwable, dict):
|
|
78
|
+
file = throwable.get('file')
|
|
79
|
+
line = throwable.get('line')
|
|
80
|
+
if file and line:
|
|
81
|
+
message = f'{message} ({file}:{line})'
|
|
82
|
+
return message
|
|
83
|
+
|
|
63
84
|
@classmethod
|
|
64
85
|
def from_problem_details(
|
|
65
86
|
cls,
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Copyright (C) 2026 LibreDTE <https://www.libredte.cl>
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
|
|
4
|
+
"""Tests para `libredte_lib_sdk.exceptions`."""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
from libredte_lib_sdk.exceptions import LibreDteApiError
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def test_full_message_combines_title_and_detail():
|
|
12
|
+
error = LibreDteApiError(
|
|
13
|
+
operation_id='billing.document.builder::build',
|
|
14
|
+
status_code=500,
|
|
15
|
+
title='Internal Server Error',
|
|
16
|
+
detail='The package billing.document.builder::build does not exist.',
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
assert error.full_message == (
|
|
20
|
+
'Internal Server Error: The package billing.document.builder'
|
|
21
|
+
'::build does not exist.'
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def test_full_message_skips_detail_when_empty():
|
|
26
|
+
error = LibreDteApiError(
|
|
27
|
+
operation_id='billing.document.builder::build',
|
|
28
|
+
status_code=500,
|
|
29
|
+
title='Error desconocido de la API.',
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
assert error.full_message == 'Error desconocido de la API.'
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def test_full_message_skips_detail_when_it_repeats_the_title():
|
|
36
|
+
error = LibreDteApiError(
|
|
37
|
+
operation_id='billing.document.builder::build',
|
|
38
|
+
status_code=500,
|
|
39
|
+
title='Mismo texto.',
|
|
40
|
+
detail='Mismo texto.',
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
assert error.full_message == 'Mismo texto.'
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def test_full_message_appends_file_and_line_when_the_api_reports_them():
|
|
47
|
+
"""
|
|
48
|
+
Caso real: `ParserWorker::parse()` envuelve cualquier excepción en
|
|
49
|
+
una `ParserException` — la API informa `title` como la clase PHP
|
|
50
|
+
completa, `detail` como el mensaje real, y `extensions.throwable`
|
|
51
|
+
con dónde se lanzó.
|
|
52
|
+
"""
|
|
53
|
+
error = LibreDteApiError(
|
|
54
|
+
operation_id='billing.document.builder::build',
|
|
55
|
+
status_code=500,
|
|
56
|
+
title=(
|
|
57
|
+
'libredte\\lib\\Core\\Package\\Billing\\Component\\Document'
|
|
58
|
+
'\\Exception\\ParserException'
|
|
59
|
+
),
|
|
60
|
+
detail=(
|
|
61
|
+
'round(): Argument #1 ($num) must be of type int|float, '
|
|
62
|
+
'string given'
|
|
63
|
+
),
|
|
64
|
+
extensions={
|
|
65
|
+
'throwable': {
|
|
66
|
+
'class': (
|
|
67
|
+
'libredte\\lib\\Core\\Package\\Billing\\Component'
|
|
68
|
+
'\\Document\\Exception\\ParserException'
|
|
69
|
+
),
|
|
70
|
+
'file': (
|
|
71
|
+
'project_dir:vendor/libredte/libredte-lib-core/src/'
|
|
72
|
+
'Package/Billing/Component/Document/Worker/'
|
|
73
|
+
'ParserWorker.php'
|
|
74
|
+
),
|
|
75
|
+
'line': 75,
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
assert error.full_message == (
|
|
81
|
+
'libredte\\lib\\Core\\Package\\Billing\\Component\\Document'
|
|
82
|
+
'\\Exception\\ParserException: round(): Argument #1 ($num) '
|
|
83
|
+
'must be of type int|float, string given (project_dir:vendor/'
|
|
84
|
+
'libredte/libredte-lib-core/src/Package/Billing/Component/'
|
|
85
|
+
'Document/Worker/ParserWorker.php:75)'
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
def test_full_message_omits_location_when_file_or_line_is_missing():
|
|
90
|
+
error = LibreDteApiError(
|
|
91
|
+
operation_id='billing.document.builder::build',
|
|
92
|
+
status_code=500,
|
|
93
|
+
title='Internal Server Error',
|
|
94
|
+
detail='Algo falló.',
|
|
95
|
+
extensions={'throwable': {'class': 'SomeException'}},
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
assert error.full_message == 'Internal Server Error: Algo falló.'
|
|
@@ -282,6 +282,33 @@ def test_caf_from_api_ambiente_is_none_for_a_fake_caf():
|
|
|
282
282
|
assert caf.certificacion is None
|
|
283
283
|
|
|
284
284
|
|
|
285
|
+
def test_caf_from_api_ambiente_as_object_uses_its_value():
|
|
286
|
+
"""La API a veces serializa el enum de PHP como `{name, value}`."""
|
|
287
|
+
caf = Caf.from_api(
|
|
288
|
+
{
|
|
289
|
+
'id': 'CAF33D1H100',
|
|
290
|
+
'emisor': {'rut': '76192083-9', 'razon_social': 'SASCO SpA'},
|
|
291
|
+
'tipoDocumento': 33,
|
|
292
|
+
'folioDesde': 1,
|
|
293
|
+
'folioHasta': 100,
|
|
294
|
+
'cantidadFolios': 100,
|
|
295
|
+
'fechaAutorizacion': '2026-01-01',
|
|
296
|
+
'fechaVencimiento': '2026-06-30',
|
|
297
|
+
'mesesAutorizacion': 2.17,
|
|
298
|
+
'vigente': True,
|
|
299
|
+
'vence': True,
|
|
300
|
+
'idk': 100,
|
|
301
|
+
'ambiente': {'name': 'STAGING', 'value': 1},
|
|
302
|
+
'certificacion': 1,
|
|
303
|
+
'publicKey': '-----BEGIN PUBLIC KEY-----',
|
|
304
|
+
'privateKey': '-----BEGIN PRIVATE KEY-----',
|
|
305
|
+
'xml': base64.b64encode(b'<AUTORIZACION/>').decode(),
|
|
306
|
+
},
|
|
307
|
+
)
|
|
308
|
+
|
|
309
|
+
assert caf.ambiente is SiiEnvironment.CERTIFICATION
|
|
310
|
+
|
|
311
|
+
|
|
285
312
|
def test_send_result_reads_track_id():
|
|
286
313
|
assert SendXmlDocumentResponse.from_api({'track_id': 456}).track_id == 456
|
|
287
314
|
assert SendXmlDocumentResponse.from_api({}).track_id is None
|
|
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
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/book/validator.py
RENAMED
|
File without changes
|
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/document/__init__.py
RENAMED
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/document/builder.py
RENAMED
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/document/dispatcher.py
RENAMED
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/document/examples.py
RENAMED
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/document/loader.py
RENAMED
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/document/models.py
RENAMED
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/document/renderer.py
RENAMED
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/document/validator.py
RENAMED
|
File without changes
|
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/exchange/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/exchange/models.py
RENAMED
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/identifier/__init__.py
RENAMED
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/identifier/caf_faker.py
RENAMED
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/identifier/caf_loader.py
RENAMED
|
File without changes
|
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/integration/__init__.py
RENAMED
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/integration/models.py
RENAMED
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/integration/sii_dte.py
RENAMED
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/integration/sii_rcv.py
RENAMED
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/integration/sii_rtc.py
RENAMED
|
File without changes
|
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/ownership_transfer/aec.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/billing/trading_parties/models.py
RENAMED
|
File without changes
|
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/human_resources/__init__.py
RENAMED
|
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
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/system/certificate/__init__.py
RENAMED
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/system/certificate/loader.py
RENAMED
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/system/repository/__init__.py
RENAMED
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/libredte_lib_sdk/system/repository/catalog.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/integration/test_certificate_loader.py
RENAMED
|
File without changes
|
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/integration/test_document_rendering.py
RENAMED
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/integration/test_document_validation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/integration/test_operation_not_found.py
RENAMED
|
File without changes
|
{libredte_lib_sdk-0.5.0 → libredte_lib_sdk-0.5.2}/tests/integration/test_ownership_transfer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|