[FIX] point_of_sale: dead file
This commit is contained in:
@@ -1,56 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import sys
|
||||
import re
|
||||
import math
|
||||
|
||||
def ean_checksum(eancode):
|
||||
"""returns the checksum of an ean string of length 13, returns -1 if the string has the wrong length"""
|
||||
if len(eancode) <> 13:
|
||||
return -1
|
||||
oddsum=0
|
||||
evensum=0
|
||||
total=0
|
||||
eanvalue=eancode
|
||||
reversevalue = eanvalue[::-1]
|
||||
finalean=reversevalue[1:]
|
||||
|
||||
for i in range(len(finalean)):
|
||||
if i % 2 == 0:
|
||||
oddsum += int(finalean[i])
|
||||
else:
|
||||
evensum += int(finalean[i])
|
||||
total=(oddsum * 3) + evensum
|
||||
|
||||
check = int(10 - math.ceil(total % 10.0)) %10
|
||||
return check
|
||||
|
||||
def check_ean(eancode):
|
||||
"""returns True if eancode is a valid ean13 string, or null"""
|
||||
if not eancode:
|
||||
return True
|
||||
if len(eancode) <> 13:
|
||||
return False
|
||||
try:
|
||||
int(eancode)
|
||||
except:
|
||||
return False
|
||||
return ean_checksum(eancode) == int(eancode[-1])
|
||||
|
||||
def sanitize_ean13(ean13):
|
||||
"""Creates and returns a valid ean13 from an invalid one"""
|
||||
if not ean13:
|
||||
return "0000000000000"
|
||||
ean13 = re.sub("[A-Za-z]","0",ean13);
|
||||
ean13 = re.sub("[^0-9]","",ean13);
|
||||
ean13 = ean13[:13]
|
||||
if len(ean13) < 13:
|
||||
ean13 = ean13 + '0' * (13-len(ean13))
|
||||
return ean13[:-1] + str(ean_checksum(ean13))
|
||||
|
||||
def main():
|
||||
for arg in sys.argv[1:]:
|
||||
print sanitize_ean13(arg)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Reference in New Issue
Block a user