mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Limit barcode hash to printable characters.
This is a dirty filthy hack, as the web-input strips non printable chars when they are typed in (but will accept them if they are copy-pasted)
This commit is contained in:
parent
27b8928a10
commit
97140b19ba
@ -1,5 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import string
|
||||
import hashlib
|
||||
import logging
|
||||
|
||||
@ -16,9 +17,18 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
def hash_barcode(barcode_data):
|
||||
"""
|
||||
Calculate an MD5 hash of barcode data
|
||||
Calculate an MD5 hash of barcode data.
|
||||
|
||||
HACK: Remove any 'non printable' characters from the hash,
|
||||
as it seems browers will remove special control characters...
|
||||
|
||||
TODO: Work out a way around this!
|
||||
"""
|
||||
|
||||
printable_chars = filter(lambda x: x in string.printable, barcode_data)
|
||||
|
||||
barcode_data = ''.join(list(printable_chars))
|
||||
|
||||
hash = hashlib.md5(str(barcode_data).encode())
|
||||
return str(hash.hexdigest())
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user