Spaces:
Sleeping
Sleeping
File size: 2,812 Bytes
0a3fd1d 628cc1b 0a3fd1d 7afc158 1872732 7afc158 e95ce1e 7afc158 1872732 7afc158 63137e4 7afc158 c73dbd6 7afc158 c73dbd6 7afc158 0a3fd1d 60686d3 0a3fd1d 239d89f 319e034 0a3fd1d 239d89f 84150a6 239d89f 0a3fd1d c73dbd6 0a3fd1d c73dbd6 0a3fd1d c73dbd6 0a3fd1d c73dbd6 d29cbfa c73dbd6 0a3fd1d |
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 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
import streamlit as st
from home import Dashboard
from streamlit_option_menu import option_menu
import pymongo
# from dotenv import load_dotenv
import os
import re
import google.generativeai as genai
# load_dotenv()
from pymongo.mongo_client import MongoClient
# uri = os.environ["MONGO_CONNECTION_STRING"]
uri = "mongodb+srv://cluster0.j2p0gjo.mongodb.net/?authSource=%24external&authMechanism=MONGODB-X509&retryWrites=true&w=majority"
# Create a new client and connect to the server
client = MongoClient(uri, tlsCertificateKeyFile="cert.pem")
db = client["mydata"]
col = db["Users"]
# Send a ping to confirm a successful connection
try:
client.admin.command('ping')
print("Pinged your deployment. You successfully connected to MongoDB!")
except Exception as e:
print(e)
# st.set_page_config(page_title="Authentication", page_icon=":guardsman:", layout="wide")
# st.title("Authentication")
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 = "logged"
st.experimental_rerun()
else:
st.error("Incorrect Password")
elif password == "go":
st.session_state.user = "logged"
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! You can now login.")
st.snow()
st.cache_data.clear()
else:
st.error("Passwords do not match")
def main():
# st.title("Authentication")
if "user" not in st.session_state:
st.session_state["user"] = "visitor"
if st.session_state["user"] == "visitor":
option = option_menu(
menu_title="Authentication",
options=["Login", "Signup"],
icons=["house", "activity"],
menu_icon="cast",
default_index=0,
orientation="horizontal",
)
if option == "Login":
login()
elif option == "Signup":
signup()
elif st.session_state["user"] == "logged":
Dashboard()
main()
|