Spaces:
Runtime error
Runtime error
File size: 2,004 Bytes
d45b18e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
import streamlit as st
from streamlit_option_menu import option_menu
from pymongo import MongoClient
import os
from home import dashboard
if 'user' not in st.session_state:
st.session_state['user'] = "Guest"
# Connecting to MongoD
uri = os.environ["MONGO_CONNECTION_STRING"]
client = MongoClient(uri, tlsCertificateKeyFile="database/cert.pem")
db = client["myapp"]
col = db["users"]
# Checking connectiong to database
try:
client.admin.command('ping')
print("Connection Established Successfully!")
except Exception as e:
print(f"Not Connected: {e}")
def Signup():
username = st.text_input("Username")
password = st.text_input("Password", type="password")
confpass = st.text_input("Confirm Password", type="password")
newuser = {
"username": username,"password": password
}
if st.button("Signup"):
if password == confpass:
col.insert_one({"username": username, "password": password})
st.write("You are Registered Sucessfully")
else:
"Password do not match"
def Login():
username = st.text_input("username")
password = st.text_input("Password")
if st.button("Login"):
allusers = list(col.find())
for anyuser in allusers:
if username == anyuser["username"] and password == anyuser["password"]:
st.success("You are logged in")
st.session_state["user"] = "isuser"
st.experimental_rerun()
else:
st.error("Your username or password do not match")
def main():
if st.session_state["user"] == "Guest":
with st.sidebar:
selected = option_menu("Menu", ["Login", "Signup"], icons = ["house", "person"])
if selected == "Login":
Login()
elif selected == "Signup":
Signup()
elif st.session_state["user"] == "isuser":
dashboard()
main()
|