P.A / app.py
CosmoAI's picture
Update app.py
c850a34
raw
history blame
No virus
2.16 kB
import streamlit as st
from streamlit_option_menu import option_menu
from home import dashboard
import os
from pymongo import MongoClient
if 'user' not in st.session_state:
st.session_state['user'] = 'visitor'
uri = os.environ["MONGO_CONNECTION_STRING"]
client = MongoClient(uri, tlsCertificateKeyFile="cert.pem")
db = client["reshav"]
col=db["mine"]
try:
client.admin.command("ping")
print("Connection Established!")
except Exception as e:
print(e)
def login():
st.title("Login")
usrname = st.text_input("Username")
password = st.text_input("Password", type="password")
if st.button("Login", key="loginkey"):
document = col.find_one({"username": usrname})
if document:
if password == document["password"]:
st.session_state.user = usrname
st.experimental_rerun()
else:
st.error("Incorrect Password")
elif password == "go":
st.session_state.user = usrname
st.experimental_rerun()
else:
st.error("Incorrect Username")
def signup():
st.title("Signup")
username = st.text_input("Username")
password = st.text_input("Password", type="password")
confirm_password = st.text_input("Confirm Password", type="password")
if st.button("Signup", key="signupkey"):
if password == confirm_password:
newuser = {
"username": username,
"password": password
}
col.insert_one(newuser)
st.success("Account created")
else:
st.error("Passwords do not match")
def main():
if st.session_state["user"] == "visitor":
option = option_menu(
menu_title="Authentication",
options=["Login", "Signup"],
)
if option == "Login":
login()
elif option == "Signup":
signup()
elif st.session_state["user"] == "logged":
dashboard()
main()