84 lines
2.6 KiB
Python
84 lines
2.6 KiB
Python
import streamlit as st
|
|
import security
|
|
import os
|
|
import constants
|
|
import logging
|
|
from logging.handlers import RotatingFileHandler
|
|
|
|
# Ensure the log directory exists
|
|
log_dir = "/home/ubuntu/doczy.ai/streamlit"
|
|
if not os.path.exists(log_dir):
|
|
os.makedirs(log_dir, exist_ok=True)
|
|
|
|
# Configure logging with RotatingFileHandler
|
|
log_file = f"{log_dir}/interface.log"
|
|
rotating_handler = RotatingFileHandler(
|
|
log_file,
|
|
maxBytes=10 * 1024 * 1024, # 10 MB
|
|
backupCount=5, # Keep up to 5 backup files
|
|
)
|
|
rotating_handler.setLevel(logging.INFO)
|
|
formatter = logging.Formatter("%(asctime)s %(levelname)s [%(filename)s] %(message)s")
|
|
rotating_handler.setFormatter(formatter)
|
|
|
|
logger = logging.getLogger()
|
|
logger.setLevel(logging.INFO)
|
|
logger.addHandler(rotating_handler)
|
|
|
|
|
|
def setup_page(redirect_uril):
|
|
# st.set_page_config(
|
|
# page_title=page_title,
|
|
# page_icon="👋",
|
|
# )
|
|
|
|
if st.query_params.get("code"):
|
|
security.handle_redirect(redirect_uril)
|
|
|
|
access_token = st.session_state.get("access_token")
|
|
|
|
if access_token:
|
|
user_info = security.get_user_info(access_token)
|
|
st.session_state["user_info"] = user_info
|
|
return True
|
|
else:
|
|
st.write("Please sign-in to use this app.")
|
|
auth_url = security.get_auth_url(redirect_uril)
|
|
st.markdown(
|
|
f"<a href='{auth_url}' target='_self'>Sign In</a>", unsafe_allow_html=True
|
|
)
|
|
st.stop()
|
|
|
|
|
|
def load_page_details(interface):
|
|
env_var = os.environ.get("ENVIRONMENT", "DEV")
|
|
logger.info(f"env_var={env_var}")
|
|
if env_var == "UAT":
|
|
logger.info(constants.DOCZY_REDIRECT_URL_UAT + str(interface))
|
|
return (
|
|
constants.DOCZY_REDIRECT_URL_UAT + str(interface),
|
|
constants.DOCZY_CREATE_BATCH_URL_UAT,
|
|
constants.DOCZY_PIPELINE_URL_UAT,
|
|
)
|
|
elif env_var == "DEV":
|
|
logger.info(constants.DOCZY_REDIRECT_URL_DEV + str(interface))
|
|
return (
|
|
constants.DOCZY_REDIRECT_URL_DEV + str(interface),
|
|
constants.DOCZY_CREATE_BATCH_URL_DEV,
|
|
constants.DOCZY_PIPELINE_URL_DEV,
|
|
)
|
|
elif env_var == "PROD":
|
|
logger.info(constants.DOCZY_REDIRECT_URL_PROD + str(interface))
|
|
return (
|
|
constants.DOCZY_REDIRECT_URL_PROD + str(interface),
|
|
constants.DOCZY_CREATE_BATCH_URL_PROD,
|
|
constants.DOCZY_PIPELINE_URL_PROD,
|
|
)
|
|
else:
|
|
logger.info(constants.DOCZY_REDIRECT_URL_DEV + str(interface))
|
|
return (
|
|
constants.DOCZY_REDIRECT_URL_DEV + str(interface),
|
|
constants.DOCZY_CREATE_BATCH_URL_DEV,
|
|
constants.DOCZY_PIPELINE_URL_DEV,
|
|
)
|