Spaces:
Sleeping
Sleeping
import streamlit as st | |
from dotenv import load_dotenv | |
from azure.cosmos import CosmosClient | |
from typing import List | |
import os | |
load_dotenv() | |
def get_db_items(offset: int, database_name: str, container_name: str, num_items: int = 10) -> List[dict]: | |
try: | |
database = client.get_database_client(database_name) | |
container = database.get_container_client(container_name) | |
# Abfrage für die DB-Daten mit OFFSET | |
query = f"SELECT * FROM c OFFSET {offset} LIMIT {num_items}" | |
items = list(container.query_items(query=query, enable_cross_partition_query=True)) | |
return items | |
except Exception as e: | |
print(f"Fehler beim Abrufen der Daten aus der Cosmos DB: {e}") | |
st.error("Someting went wrong. Please try again later.", icon="🚨") | |
return [] | |
if "db_items" not in st.session_state: | |
endpoint = os.getenv("COSMOS_DB_ENDPOINT") | |
key = os.getenv("COSMOS_DB_KEY") | |
client = CosmosClient(endpoint, key) | |
st.session_state["db_items"] = client | |
if "interview_items" not in st.session_state: | |
initial_items = get_db_items(0, "appointment-database", "appointments") | |
st.session_state["interview_items"] = initial_items | |
if "assessment_items" not in st.session_state: | |
initial_items = get_db_items(0, "assessment-database", "assessments") | |
st.session_state["assessment_items"] = initial_items | |
if "items_to_show" not in st.session_state: | |
st.session_state["items_to_show"] = st.session_state["interview_items"] | |
col1, col2 = st.columns([2, 1]) | |
col1.title("Meeting Manager") | |
col2.image("https://www.workgenius.com/wp-content/uploads/2023/03/WorkGenius_navy-1.svg") | |
def change_meeting_items(): | |
if st.session_state["meeting_type"] == "Candidate interview": | |
st.session_state["items_to_show"] = st.session_state["interview_items"] | |
else: | |
st.session_state["items_to_show"] = st.session_state["assessment_items"] | |
st.radio("Select a meeting type", ("Candidate interview", "Peer to peer assessment"), key="meeting_type", on_change=change_meeting_items) | |
st.divider() | |
st.subheader("Candidate interview:" if st.session_state["meeting_type"] == "Candidate interview" else "Peer to peer assessments:") | |
# st.write(st.session_state["interview_items"]) | |
meeting_title = st.columns([7,1]) | |
meeting_title[0].write("**Meeting title:**") | |
for i, interview in enumerate(st.session_state["items_to_show"]): | |
st.write(interview["job_title"]+str(i+1)) |