Rename EGN to egn.py, fix style.

This commit is contained in:
Doncho N. Gunchev 2011-12-02 06:26:12 +02:00
parent cf46a9464b
commit b239b650d6
2 changed files with 43 additions and 33 deletions

View file

@ -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"

43
misc/egn.py Executable file
View file

@ -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 <gunchev@gmail.com>"
__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"