From b239b650d6893d78baab98627ed13474b9eafc3a Mon Sep 17 00:00:00 2001 From: "Doncho N. Gunchev" Date: Fri, 2 Dec 2011 06:26:12 +0200 Subject: [PATCH] Rename EGN to egn.py, fix style. --- misc/EGN | 33 --------------------------------- misc/egn.py | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 33 deletions(-) delete mode 100755 misc/EGN create mode 100755 misc/egn.py diff --git a/misc/EGN b/misc/EGN deleted file mode 100755 index d42ee88..0000000 --- a/misc/EGN +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -'''Check if the given EGN (Bulgarian Universal Citizen Number) is valid.''' - -def EGNcheck(EGN): - '''Check if the given EGN (Bulgarian Universal Citizen Number) is valid.''' - if len(EGN) != 10: - return False - multipliers = (2, 4, 8, 5, 10, 9, 7, 3, 6) - sum = 0 - for i in range(9): - sum += int(EGN[i]) * multipliers[i] - sum %= 11 - if sum > 9: - sum = 0 # hmm? should it not just subtract 10? - # print "sum = %i, EGN[9] = %s" % (sum, EGN[9]) - return int(EGN[9]) == sum - -if __name__ == '__main__': - import sys - if len(sys.argv) < 2: - print '''\ -This program check if the given EGN (Universal Citizen Number) -is valid in Bulgaria. All EGNs are accepted as arguments. -''' - else: - print "EGN check version 1.0, by Mr.700" - for arg in sys.argv[1:]: - if EGNcheck(arg): - print arg + " - OK" - else: - print arg + " - BAD" diff --git a/misc/egn.py b/misc/egn.py new file mode 100755 index 0000000..879122c --- /dev/null +++ b/misc/egn.py @@ -0,0 +1,43 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +""" +This program check if the given EGN (Universal Citizen Number) +is valid in Bulgaria. All EGNs are accepted as arguments. + +You can also import egn_check from here. +""" + +__version__ = "0.0.1" +__author__ = "Doncho Gunchev " +__depends__ = ["Python-2.3"] +__copyright__ = "GPLv2+/BSD" + +def egn_check(egn): + '''Check if the given EGN (Bulgarian Universal Citizen Number) is valid.''' + if len(egn) != 10: + return False + multipliers = (2, 4, 8, 5, 10, 9, 7, 3, 6) + check_sum = 0 + for i in range(9): + check_sum += int(egn[i]) * multipliers[i] + check_sum %= 11 + if check_sum > 9: + check_sum = 0 # hmm? should it not just subtract 10? + # print "check_sum = %i, egn[9] = %s" % (check_sum, egn[9]) + return int(egn[9]) == check_sum + + +if __name__ == '__main__': + import sys + if len(sys.argv) < 2: + print "EGN check version " + __version__ + ", by Mr.700" + print + print __doc__.strip() + else: + print "EGN check version " + __version__ + ", by Mr.700" + for arg in sys.argv[1:]: + if egn_check(arg): + print arg + " - OK" + else: + print arg + " - BAD"