From 8adbf3592855e77d3d00375220fb185a7ec81529 Mon Sep 17 00:00:00 2001 From: Mikayla Dobson <93477693+innocuous-symmetry@users.noreply.github.com> Date: Sun, 8 Jan 2023 12:32:23 -0600 Subject: [PATCH] in progress: send data to pgutil from formatresult --- formatresult.py | 17 +++++++++++++---- pgutil.py | 16 ++++++++++++---- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/formatresult.py b/formatresult.py index 8b09b57..008bb46 100644 --- a/formatresult.py +++ b/formatresult.py @@ -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 diff --git a/pgutil.py b/pgutil.py index e3e87b6..c8a91fa 100644 --- a/pgutil.py +++ b/pgutil.py @@ -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 \ No newline at end of file + 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() + + \ No newline at end of file