66 lines
2.2 KiB
Python
66 lines
2.2 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)
|
|
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)
|