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