in progress: send data to pgutil from formatresult

This commit is contained in:
Mikayla Dobson
2023-01-08 12:32:23 -06:00
parent e886742b0e
commit 8adbf35928
2 changed files with 25 additions and 8 deletions

View File

@@ -1,4 +1,5 @@
import json, os, shutil
from pgutil import PGUTIL
from config import Config
def format_result(app_config: Config, json_path):
@@ -8,7 +9,7 @@ def format_result(app_config: Config, json_path):
data_path = app_config['data_path']
# if pg_config is not None, run the postgres prediction[0] of this code
pg_config = app_config['pg_config']
pgutil = PGUTIL(app_config, json_path)
# if this is True, run the prediction[0] "for line in contents:" below
sort_by_match_strength = app_config['sort_by_match_strength']
@@ -34,14 +35,22 @@ def format_result(app_config: Config, json_path):
# handles data for first prediction for a given photo
total_count += 1
guess_label = prediction[0][0][1]
match_accuracy = prediction[0][0][2]
match_strength = 'weak'
# container for data to ship to pg
pgutil.insert_data({
"filename": img_path,
"topprediction": guess_label,
"matchaccuracy": match_accuracy
})
# assign value for match strength
if float(prediction[0][0][2]) > 0.9:
if float(match_accuracy) > 0.9:
match_strength = 'strong'
elif float(prediction[0][0][2]) > 0.7:
elif float(match_accuracy) > 0.7:
match_strength = 'moderate'
elif float(prediction[0][0][2]) > 0.4:
elif float(match_accuracy) > 0.4:
match_strength = 'fair'
elif match_strength == 'weak':
weak_results += 1

View File

@@ -2,7 +2,7 @@ import psycopg2, json
from config import Config
class PGUTIL:
def __init__(self, config_file: Config = None):
def __init__(self, config_file: Config = None, json_path: str = None):
if config_file is None:
load_config = Config()
config_file = load_config.run()
@@ -11,7 +11,8 @@ class PGUTIL:
if pg_dsn is None:
raise Exception("Insufficient data to establish PostgreSQL connection.")
if json_path:
self.json_path = json_path
self.config_file = config_file
def create_tables(self):
@@ -59,5 +60,12 @@ class PGUTIL:
print("Connection closed.")
def insert_data(self):
pass
def insert_data(self, analysis):
# if self.json_path is None:
# return
# establish pg connection
conn = psycopg2.connect(self['config_file']['dsn'])
cur = conn.cursor()