Update fingerprint.py

This commit is contained in:
Fabio Costa 2014-06-25 09:56:45 +01:00
parent e1454bf1ea
commit 35c536a372

View file

@ -97,6 +97,12 @@ def generate_hashes(peaks, fan_value=DEFAULT_FAN_VALUE):
"""
fingerprinted = set() # to avoid rehashing same pairs
fingerprinted = set() # to avoid rehashing same pairs
from operator import itemgetter
peaks.sort(key=itemgetter(1))
_len = 0
for i in range(len(peaks)):
for j in range(1, fan_value):
if (i + j) < len(peaks) and not (i, i + j) in fingerprinted:
@ -112,6 +118,8 @@ def generate_hashes(peaks, fan_value=DEFAULT_FAN_VALUE):
h = hashlib.sha1(
"%s|%s|%s" % (str(freq1), str(freq2), str(t_delta)))
yield (h.hexdigest()[0:20], t1)
_len += 1
# ensure we don't repeat hashing
fingerprinted.add((i, i + j))
print "hashes: %s", _len