mirror of
https://github.com/gunchev/home_bin.git
synced 2025-11-20 12:15:46 +00:00
Rename EGN to egn.py, fix style.
This commit is contained in:
parent
cf46a9464b
commit
b239b650d6
2 changed files with 43 additions and 33 deletions
33
misc/EGN
33
misc/EGN
|
|
@ -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
43
misc/egn.py
Executable 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"
|
||||
Loading…
Add table
Add a link
Reference in a new issue