David_A
deploiement de l'application
a7029db
# Importation des bibliothèques
import json
import components.fonctions_transcription as TRS
import streamlit as st
import components.logo as logo
import components.identification_aws as authenticate
import datetime
from datetime import datetime as date
import math
# Chargement du fichier des utilisateurs
with open("users_info.json", 'r') as file:
dict_user = json.load(file)
# Logo de la page
my_logo = logo.add_logo(logo_path="logo_digitalixsa.png", width=100, height=100)
st.image(my_logo)
# Titre de la page
st.title("Limite d'utilisation de la transcription")
# Calcul annee-mois de trascription
maintenant = datetime.datetime.now()
Year = maintenant.year
Month = maintenant.month
Year_Month = str(Year) + '_' + str(Month).zfill(2)
# Check authentication
authenticate.set_st_state_vars()
# Add login/logout buttons
if st.session_state["authenticated"]:
authenticate.button_logout()
# informations de l'utilisateur
user_group = 'utilisateurs_sidwaya'
user_info = st.session_state["user_info"]
username = user_info['username']
user_group = st.session_state["user_cognito_groups"][0]
# information de l'utilisateur
user_pool_name = 'transcription_streamlit'
# auth_code = st.session_state["auth_code"]
# add user to users_dict and group free
if username not in dict_user.keys():
dict_user[username] = {"email": user_info['email'],
"durees_audio_sec":[0],
"date_inscription":str(maintenant),
"dates_transcription":[str(maintenant)],
"abonnement":1}
#group_name = 'utilisateurs_gratuits'
# get user pool id
#user_pool_id = authenticate.get_user_pool_id(user_pool_name)
#print("User Pool ID:", user_pool_id)
#authenticate.add_user_to_group(user_pool_id, username, group_name)
##### Affichage utilisation de l'utilisateur #####
figure , consommation = TRS.graphique_utilisation(dict_user, username, Year_Month)
### Utilisateur SIDWAYA
if user_group == "utilisateurs_sidwaya":
date_inscription = dict_user[user_info['username']]['date_inscription']
format = "%Y-%m-%d %H:%M:%S.%f"
datetime_obj = date.strptime(date_inscription, format)
# Calculate the difference between the two dates
difference = maintenant - datetime_obj
# Display the Plotly figure in Streamlit app
st.plotly_chart(figure)
# Affichage consommation
st.text("Consommation du mois : "+ str(round(consommation/3600,2))+ "/ 20H")
st.text("Duree abonnement : "+ str(math.floor(difference.days/30) +1) +"/ 12 mois")
if user_group == "utilisateurs_vip":
# Display the Plotly figure in Streamlit app
st.plotly_chart(figure)
# Affichage consommation
st.text("Consommation du mois : "+ str(round(consommation/3600,2))+ "/ 20H")
if user_group == "utilisateurs_gratuits":
# Display the Plotly figure in Streamlit app
st.plotly_chart(figure)
# Affichage consommation
st.text("Consommation du mois : "+ str(round(consommation/3600,2))+ "/ 20H")
else:
authenticate.button_login()