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) 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)