57 lines
1.6 KiB
Python
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]}
|
||
|
"""
|