WTB/best.py

57 lines
1.6 KiB
Python

import mysql.connector
# det_res -> detection result
def best(det_res):
chars = ['®', '|', ' ', "'", '[', ']', ',', '\n', '\x0c', '/', '\\']
for i in range(len(det_res)):
for char in chars:
det_res[i] = det_res[i].replace(char, '')
for ele in det_res:
if len(ele) == 1:
det_res.remove(ele)
while "" in det_res:
det_res.remove("")
print(det_res)
db = mysql.connector.connect(host="localhost", user="root", database="wtb_db")
cursor = db.cursor()
cursor.execute('SELECT * FROM coffee')
db_results = cursor.fetchall()
score = []
for i in range(len(db_results)):
keywords = db_results[i][2].split(';')
score.append(0)
for res in det_res:
print(f'\n=== {db_results[i][1]} ===')
for keyword in keywords:
if res.lower() in keyword.lower():
print(f'{res} -- {keyword}')
# dwa pierwsze to zawsze nazwa kawy, dlatego jest lepiej punktowana
if i < 2:
score[i] += 3
else:
score[i] += 1
if score[i] != 0:
if i != 0:
score[i] = score[i]/i
print(score[i])
print("=======================")
print(score)
if score.index(max(score)) < 1:
return 'Nie wykryto kawy w bazie danych'
else:
best_index = score.index(max(score))
return f"""
WYKRYTO: {db_results[best_index][1]}\n
Opis: {db_results[best_index][3]}
"""