def single_whorl_uniqueness(whorl_name, whorl_value): print "here" db = Db() db.connect() md5_whorl_value = FingerprintHelper.value_or_md5( {whorl_name: whorl_value})[whorl_name] try: count = db.get_whorl_value_count(whorl_name, md5_whorl_value, config.epoched) except TypeError: return { 'status': "Error: that value has not yet been recorded for '" + whorl_name + "'" } total = db.get_total_count(config.epoched) uniqueness = { 'bits': round(-log(count / float(total), 2), 2), 'one_in_x': round(float(total) / count, 2) } return uniqueness
def _fetch_counts(whorls, whorl_names): db = Db() db.connect() # result dict. 'total' is the total number of entries, 'sig_matches' is # the number matching signature in whorls, other keys are variables in # signature. counts = {} # query an incrementally updated totals table which has an index on # unique (variable, value) md5_whorls = FingerprintHelper.value_or_md5(whorls) try: for i in whorl_names: counts[i] = db.get_whorl_value_count(i, md5_whorls[i], config.epoched) total = db.get_total_count(config.epoched) matching = db.get_signature_matches_count(whorls['signature'], config.epoched) finally: db.close() return counts, total, matching
def single_whorl_uniqueness(whorl_name, whorl_value): print "here" db = Db() db.connect() md5_whorl_value = FingerprintHelper.value_or_md5({whorl_name: whorl_value})[whorl_name] try: count = db.get_whorl_value_count(whorl_name, md5_whorl_value, config.epoched) except TypeError: return {"status": "Error: that value has not yet been recorded for '" + whorl_name + "'"} total = db.get_total_count(config.epoched) uniqueness = {"bits": round(-log(count / float(total), 2), 2), "one_in_x": round(float(total) / count, 2)} return uniqueness
def _fetch_counts(whorls): db = Db() db.connect() # result dict. 'total' is the total number of entries, 'sig_matches' is # the number matching signature in whorls, other keys are variables in # signature. counts = {} # query an incrementally updated totals table which has an index on # unique (variable, value) md5_whorls = FingerprintHelper.value_or_md5(whorls) for i in FingerprintHelper.whorl_names: counts[i] = db.get_whorl_value_count(i, md5_whorls[i], config.epoched) total = db.get_total_count(config.epoched) matching = db.get_signature_matches_count(whorls["signature"], config.epoched) return counts, total, matching