details: https://code.tryton.org/tryton/commit/1a4bf1aa835e
branch: default
user: Cédric Krier <[email protected]>
date: Tue Jan 13 15:47:25 2026 +0100
description:
Update API of ogm_vcs fallback to be the same as the release 2.2 of
python-stdnum
Closes #14488
diffstat:
modules/account_be/account.py | 2 +-
modules/account_be/ogm_vcs.py | 12 ++++--------
2 files changed, 5 insertions(+), 9 deletions(-)
diffs (42 lines):
diff -r a7bcd29273f4 -r 1a4bf1aa835e modules/account_be/account.py
--- a/modules/account_be/account.py Sat Jan 10 18:39:18 2026 +0100
+++ b/modules/account_be/account.py Tue Jan 13 15:47:25 2026 +0100
@@ -179,7 +179,7 @@
number = self._customer_payment_reference_number_digit(source)
if number:
number = number % 10**10
- check_digit = ogm_vcs.calc_check_digit(str(number))
+ check_digit = ogm_vcs.calc_check_digits(str(number))
reference = f'{self.number_digit:0>10}{check_digit}'
return f'+++{ogm_vcs.format(reference)}+++'
diff -r a7bcd29273f4 -r 1a4bf1aa835e modules/account_be/ogm_vcs.py
--- a/modules/account_be/ogm_vcs.py Sat Jan 10 18:39:18 2026 +0100
+++ b/modules/account_be/ogm_vcs.py Tue Jan 13 15:47:25 2026 +0100
@@ -12,14 +12,10 @@
return clean(number, ' +/').strip()
-def checksum(number: str) -> int:
- """Calculate the checksum."""
- return (int(number) % 97) or 97
-
-
-def calc_check_digit(number: str) -> str:
+def calc_check_digits(number: str) -> str:
"""Calculate the check digit that should be added."""
- return '%02d' % checksum(number)
+ number = compact(number)
+ return '%02d' % ((int(number[:10]) % 97) or 97)
def validate(number: str) -> str:
@@ -29,7 +25,7 @@
raise InvalidFormat()
if len(number) != 12:
raise InvalidLength()
- if checksum(number[:-2]) != int(number[-2:]):
+ if calc_check_digits(number) != number[-2:]:
raise InvalidChecksum()
return number