Update app.py
Browse files
app.py
CHANGED
|
@@ -65,7 +65,7 @@ def create_user(email, password):
|
|
| 65 |
return False, None
|
| 66 |
|
| 67 |
# Function to send a message
|
| 68 |
-
def send_message(sender, recipient, message):
|
| 69 |
try:
|
| 70 |
# Add a new document with a generated ID to Firestore
|
| 71 |
db_firestore.collection("messages").add({
|
|
@@ -88,7 +88,7 @@ def send_message(sender, recipient, message):
|
|
| 88 |
return f"Failed to send message: {str(e)}"
|
| 89 |
|
| 90 |
# Function to retrieve messages from Firestore
|
| 91 |
-
def retrieve_messages_firestore():
|
| 92 |
try:
|
| 93 |
# Retrieve all documents from the 'messages' collection in Firestore
|
| 94 |
messages_ref = db_firestore.collection("messages").order_by("timestamp")
|
|
@@ -100,7 +100,7 @@ def retrieve_messages_firestore():
|
|
| 100 |
st.error(f"Failed to retrieve messages from Firestore: {str(e)}")
|
| 101 |
|
| 102 |
# Function to retrieve messages from Realtime Database
|
| 103 |
-
def retrieve_messages_realtime():
|
| 104 |
try:
|
| 105 |
# Retrieve all documents from the 'messages' collection in Realtime Database
|
| 106 |
messages_ref = db_realtime.child("messages").get()
|
|
@@ -266,9 +266,9 @@ def recognize_face_ui():
|
|
| 266 |
if st.button("Recognize Face"):
|
| 267 |
result = recognize_face(image_path)
|
| 268 |
st.write(result, unsafe_allow_html=True)
|
| 269 |
-
|
| 270 |
# Streamlit interface for chat (Retrieve messages from both Firestore and Realtime Database)
|
| 271 |
-
def chat_ui():
|
| 272 |
st.title("Chat")
|
| 273 |
sender = st.session_state.auth_state["user"]["email"]
|
| 274 |
recipient = st.text_input("Recipient", help="Enter the recipient's email address")
|
|
@@ -277,9 +277,9 @@ def chat_ui():
|
|
| 277 |
result = send_message(sender, recipient, message)
|
| 278 |
st.write(result)
|
| 279 |
st.header("Messages (Firestore)")
|
| 280 |
-
retrieve_messages_firestore()
|
| 281 |
st.header("Messages (Realtime Database)")
|
| 282 |
-
retrieve_messages_realtime()
|
| 283 |
|
| 284 |
# Streamlit interface for recognizing face with optimal ID
|
| 285 |
def recognize_face_optimal_ui():
|
|
@@ -367,4 +367,4 @@ def main():
|
|
| 367 |
chat_ui()
|
| 368 |
|
| 369 |
if __name__ == "__main__":
|
| 370 |
-
|
|
|
|
| 65 |
return False, None
|
| 66 |
|
| 67 |
# Function to send a message
|
| 68 |
+
def send_message(db_firestore, db_realtime, sender, recipient, message):
|
| 69 |
try:
|
| 70 |
# Add a new document with a generated ID to Firestore
|
| 71 |
db_firestore.collection("messages").add({
|
|
|
|
| 88 |
return f"Failed to send message: {str(e)}"
|
| 89 |
|
| 90 |
# Function to retrieve messages from Firestore
|
| 91 |
+
def retrieve_messages_firestore(db_firestore):
|
| 92 |
try:
|
| 93 |
# Retrieve all documents from the 'messages' collection in Firestore
|
| 94 |
messages_ref = db_firestore.collection("messages").order_by("timestamp")
|
|
|
|
| 100 |
st.error(f"Failed to retrieve messages from Firestore: {str(e)}")
|
| 101 |
|
| 102 |
# Function to retrieve messages from Realtime Database
|
| 103 |
+
def retrieve_messages_realtime(db_realtime):
|
| 104 |
try:
|
| 105 |
# Retrieve all documents from the 'messages' collection in Realtime Database
|
| 106 |
messages_ref = db_realtime.child("messages").get()
|
|
|
|
| 266 |
if st.button("Recognize Face"):
|
| 267 |
result = recognize_face(image_path)
|
| 268 |
st.write(result, unsafe_allow_html=True)
|
| 269 |
+
|
| 270 |
# Streamlit interface for chat (Retrieve messages from both Firestore and Realtime Database)
|
| 271 |
+
def chat_ui(db_firestore, db_realtime):
|
| 272 |
st.title("Chat")
|
| 273 |
sender = st.session_state.auth_state["user"]["email"]
|
| 274 |
recipient = st.text_input("Recipient", help="Enter the recipient's email address")
|
|
|
|
| 277 |
result = send_message(sender, recipient, message)
|
| 278 |
st.write(result)
|
| 279 |
st.header("Messages (Firestore)")
|
| 280 |
+
retrieve_messages_firestore(db_firestore)
|
| 281 |
st.header("Messages (Realtime Database)")
|
| 282 |
+
retrieve_messages_realtime(db_realtime)
|
| 283 |
|
| 284 |
# Streamlit interface for recognizing face with optimal ID
|
| 285 |
def recognize_face_optimal_ui():
|
|
|
|
| 367 |
chat_ui()
|
| 368 |
|
| 369 |
if __name__ == "__main__":
|
| 370 |
+
authenticate_user_ui(db_firestore, db_realtime)
|