Skip to content
This repository has been archived by the owner on Feb 22, 2024. It is now read-only.

Commit

Permalink
feat: add update data buttom
Browse files Browse the repository at this point in the history
  • Loading branch information
d116626 committed Feb 9, 2024
1 parent 092904b commit 2e8dcdb
Show file tree
Hide file tree
Showing 4 changed files with 90 additions and 16 deletions.
38 changes: 30 additions & 8 deletions app/Home.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
display_agrid_table,
display_camera_details,
get_cameras,
get_cameras_cash,
get_filted_cameras_objects,
get_icon_color,
treat_data,
Expand All @@ -19,15 +20,36 @@
DEFAULT_OBJECT = "water_level"
st.markdown("## Identificações | Vision AI")

# get cameras
cameras = get_cameras(
page_size=3000,
only_active=False,
use_mock_data=False,
update_mock_data=False,
)
cameras_attr, cameras_identifications = treat_data(cameras)

# Function to fetch and update data
def fetch_and_update_data(bypass_cash=False):
page_size = 3000
only_active = False
use_mock_data = False
update_mock_data = True

if bypass_cash:
return get_cameras(
page_size=page_size,
only_active=only_active,
use_mock_data=use_mock_data,
update_mock_data=update_mock_data,
)
return get_cameras_cash(
page_size=page_size,
only_active=only_active,
use_mock_data=use_mock_data,
update_mock_data=update_mock_data,
)


cameras = fetch_and_update_data()
# Add a button for updating data
if st.button("Update Data"):
cameras = fetch_and_update_data(bypass_cash=True)
st.success("Data updated successfully!")

cameras_attr, cameras_identifications = treat_data(cameras)
col1, col2 = st.columns(2)

with col1:
Expand Down
36 changes: 32 additions & 4 deletions app/pages/Visualizar Prompt.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,46 @@

import pandas as pd
import streamlit as st
from utils.utils import get_objects, get_objetcs_labels_df, get_prompts
from utils.utils import (
get_objects,
get_objects_cash,
get_objetcs_labels_df,
get_prompts,
get_prompts_cash,
)

st.set_page_config(layout="wide", initial_sidebar_state="collapsed")
# st.image("./data/logo/logo.png", width=300)

st.markdown("# Visualizar Prompt | Vision AI")

data = get_prompts()
objects = pd.DataFrame(get_objects())

# Function to fetch and update data
def fetch_and_update_prompts(bypass_cash=False):
if bypass_cash:
return get_prompts()
return get_prompts_cash()


def fetch_and_update_objects(bypass_cash=False):
if bypass_cash:
return get_objects()
return get_objects_cash()


prompt_data = fetch_and_update_prompts()
objects_data = fetch_and_update_objects()

# Add a button for updating data
if st.button("Update Data"):
prompt_data = fetch_and_update_prompts(bypass_cash=True)
objects_data = fetch_and_update_objects(bypass_cash=True)
st.success("Data updated successfully!")

objects = pd.DataFrame(objects_data)
labels = get_objetcs_labels_df(objects, keep_null=True)

prompt_parameters = data[0]
prompt_parameters = prompt_data[0]
prompt_text = prompt_parameters.get("prompt_text")
prompt_objects = prompt_parameters.get("objects")

Expand Down
30 changes: 27 additions & 3 deletions app/utils/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@ def callback_data():
# )


@st.cache_data(ttl=60 * 2, persist=False)
def get_cameras(
only_active=True,
use_mock_data=False,
Expand Down Expand Up @@ -91,7 +90,6 @@ def get_cameras(
return data


@st.cache_data(ttl=60 * 2, persist=False)
def get_objects(
page_size=100,
timeout=120,
Expand All @@ -102,7 +100,6 @@ def get_objects(
return data


@st.cache_data(ttl=60 * 60, persist=False)
def get_prompts(
page_size=100,
timeout=120,
Expand All @@ -113,6 +110,33 @@ def get_prompts(
return data


@st.cache_data(ttl=60 * 2, persist=False)
def get_cameras_cash(
only_active=True,
use_mock_data=False,
update_mock_data=False,
page_size=3000,
timeout=120,
):
return get_cameras(
only_active=only_active,
use_mock_data=use_mock_data,
update_mock_data=update_mock_data,
page_size=page_size,
timeout=timeout,
)


@st.cache_data(ttl=60 * 2, persist=False)
def get_objects_cash(page_size=100, timeout=120):
return get_objects(page_size=page_size, timeout=timeout)


@st.cache_data(ttl=60 * 2, persist=False)
def get_prompts_cash(page_size=100, timeout=120):
return get_prompts(page_size=page_size, timeout=timeout)


def treat_data(response):
cameras_aux = pd.read_csv("./data/database/cameras_aux.csv", dtype=str)
cameras_aux = cameras_aux.rename(columns={"id_camera": "id"}).set_index(
Expand Down
2 changes: 1 addition & 1 deletion data/temp/mock_api_data.json

Large diffs are not rendered by default.

0 comments on commit 2e8dcdb

Please sign in to comment.