From 0020e80406f63e1768d502e4f48711fe19bce8fb Mon Sep 17 00:00:00 2001 From: Carlos Vega <carlos.vega@uni.lu> Date: Tue, 30 Oct 2018 09:53:01 +0100 Subject: [PATCH] added method calculate_luhn_checksum --- smash/web/algorithm/luhn_algorithm.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/smash/web/algorithm/luhn_algorithm.py b/smash/web/algorithm/luhn_algorithm.py index c752bc33..ae550c43 100644 --- a/smash/web/algorithm/luhn_algorithm.py +++ b/smash/web/algorithm/luhn_algorithm.py @@ -1,12 +1,14 @@ +def digits_of(n): + return [int(d) for d in str(n)] + + class LuhnAlgorithm(object): + def __init__(self): pass @staticmethod def luhn_checksum(card_number): - def digits_of(n): - return [int(d) for d in str(n)] - digits = digits_of(card_number) odd_digits = digits[-1::-2] even_digits = digits[-2::-2] @@ -19,3 +21,7 @@ class LuhnAlgorithm(object): @staticmethod def is_luhn_valid(card_number): return LuhnAlgorithm.luhn_checksum(card_number) == 0 + + @staticmethod + def calculate_luhn_checksum(card_number): + return (10 - LuhnAlgorithm.luhn_checksum(card_number + '0')) % 10 -- GitLab