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"Sign In", 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, )