File size: 1,414 Bytes
f19bc2d ee406aa f19bc2d ee406aa |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
import gradio as gr
import pandas as pd
from dotenv import load_dotenv
from utils_config import load_config
from utils_json import get_json_one_individual, save_all_animals
import os
load_dotenv()
PATH = os.getcwd() + "/"
PATH_ASSETS = os.getenv('PATH_ASSETS')
PATH_CONFIG = PATH + PATH_ASSETS + "config/"
def get_headers():
headers_config = load_config(PATH_CONFIG + "config_df.json")
headers = headers_config["headers"]
return headers
def match_data_to_headers(headers, one_individual):
new_row = {}
for key in headers:
if key in one_individual:
if type(one_individual[key])==list:
new_row[key] = ' , '.join(one_individual[key])
else:
new_row[key] = one_individual[key]
else:
new_row[key] = "NA"
return list(new_row.values())
def save_individual_to_df(df):
headers = get_headers()
one_individual = get_json_one_individual()
new_row = match_data_to_headers(headers, one_individual)
new_row_df = pd.DataFrame([new_row], columns=headers)
df_new = pd.concat([df, new_row_df], ignore_index=True)
df_gr = gr.DataFrame(visible=True,
value=df_new,
headers=headers)
return df_gr
def save_and_rest_df(df):
save_all_animals(df)
df = gr.Dataframe(headers=get_headers(),
visible=False)
return df
|