details: https://code.tryton.org/tryton/commit/b2a710926326
branch: default
user: Cédric Krier <[email protected]>
date: Wed Sep 09 12:25:27 2026 +0200
description:
Add timeout for requests to Peppyrus API
diffstat:
modules/edocument_peppol_peppyrus/doc/configuration.rst | 10 ++++++++++
modules/edocument_peppol_peppyrus/edocument.py | 16 ++++++++++++++++
2 files changed, 26 insertions(+), 0 deletions(-)
diffs (78 lines):
diff -r 6267ce266fcf -r b2a710926326
modules/edocument_peppol_peppyrus/doc/configuration.rst
--- a/modules/edocument_peppol_peppyrus/doc/configuration.rst Thu Sep 24
09:27:50 2026 +0200
+++ b/modules/edocument_peppol_peppyrus/doc/configuration.rst Wed Sep 09
12:25:27 2026 +0200
@@ -15,3 +15,13 @@
limit):
The default value is: `trytond:config-request.max_size`
+
+.. _config-edocument_peppol_peppyrus.requests_timeout:
+
+``requests_timeout``
+====================
+
+The ``requests_timeout`` defines the time in seconds to wait for the Peppyrus
+APIs answer before failing.
+
+The default value is: ``300``
diff -r 6267ce266fcf -r b2a710926326
modules/edocument_peppol_peppyrus/edocument.py
--- a/modules/edocument_peppol_peppyrus/edocument.py Thu Sep 24 09:27:50
2026 +0200
+++ b/modules/edocument_peppol_peppyrus/edocument.py Wed Sep 09 12:25:27
2026 +0200
@@ -10,6 +10,7 @@
import requests
from lxml import etree
+import trytond.config as config
from trytond.i18n import gettext
from trytond.model import fields
from trytond.modules.edocument_peppol.exceptions import PeppolServiceError
@@ -144,6 +145,9 @@
self._peppyrus_document_type(document.type, tree)),
'fileContent': b64encode(document.data).decode(),
},
+ timeout=config.getfloat(
+ 'edocument_peppol_peppyrus', 'requests_timeout',
+ default=300),
headers={
'Accept': 'application/json',
'X-Api-Key': self.peppyrus_api_key,
@@ -191,6 +195,9 @@
urljoin(
URLS[self.peppyrus_server],
f'message/{document.transmission_id}'),
+ timeout=config.getfloat(
+ 'edocument_peppol_peppyrus', 'requests_timeout',
+ default=300),
headers={
'Accept': 'application/json',
'X-Api-Key': self.peppyrus_api_key,
@@ -212,6 +219,9 @@
urljoin(
URLS[self.peppyrus_server],
f'message/{document.transmission_id}/report'),
+ timeout=config.getfloat(
+ 'edocument_peppol_peppyrus', 'requests_timeout',
+ default=300),
headers={
'Accept': 'application/json',
'X-Api-Key': self.peppyrus_api_key,
@@ -237,6 +247,9 @@
'confirmed': 'false',
'perPage': 100,
},
+ timeout=config.getfloat(
+ 'edocument_peppol_peppyrus', 'requests_timeout',
+ default=300),
headers={
'Accept': 'application/json',
'X-Api-Key': self.peppyrus_api_key,
@@ -257,6 +270,9 @@
urljoin(
URLS[server],
f"message/{message['id']}/confirm"),
+ timeout=config.getfloat(
+ 'edocument_peppol_peppyrus', 'requests_timeout',
+ default=300),
headers={
'Accept': 'application/json',
'X-Api-Key': api_key,