Create a "unique(ish)" hash for barcode data

This commit is contained in:
Oliver Walters 2020-04-14 22:38:32 +10:00
parent f742f32804
commit 277b28a7e9
2 changed files with 12 additions and 1 deletions

View File

@ -85,6 +85,7 @@ class BarcodeScanView(APIView):
}
response['plugin'] = plugin.get_name()
response['hash'] = plugin.hash()
break

View File

@ -1,5 +1,7 @@
# -*- coding: utf-8 -*-
import hashlib
import plugins.plugin as plugin
@ -18,9 +20,17 @@ class BarcodePlugin(plugin.InvenTreePlugin):
Calculate a hash for the barcode data.
This is supposed to uniquely identify the barcode contents,
at least within the bardcode sub-type.
The default implementation simply returns an MD5 hash of the barcode data,
encoded to a string.
This may be sufficient for most applications, but can obviously be overridden
by a subclass.
"""
return ""
hash = hashlib.md5(str(self.data).encode())
return str(hash.hexdigest())
def validate(self):
"""