def get_item_listbox(self, event): widget = event.widget items = widget.curselection() print("CMA --> Listbox --> Item: ", items[0]) print("CMA --> Listbox --> All user: "******"CMA --> Listbox --> Current user: "******"CMA --> Listbox --> Value: ", Social_Network_App.__All_User[items[0]]) data_other_user = Social_Network_App.__All_User[items[0]] query_conversation = 'SELECT * FROM conversation' data_conversations = BDD.show_bdd(query_conversation) reference_conversation = str( Social_Network_App.__Current_User[0]) + str(data_other_user[3]) print("CMA --> Listbox --> Reference_conversation:", reference_conversation, data_conversations) is_old_conver = False for ref_conver in data_conversations: if ref_conver[3] == reference_conversation or ref_conver[ 3] == reference_conversation[::-1]: is_old_conver = True Social_Network_App.__Current_Conversation = ref_conver if is_old_conver: print("CMA --> Listbox --> The conversation already exists") else: print("CMA --> Listbox --> The conversation is created") # create_conversation = """ # INSERT INTO # conversation(user_id1, user_id2, reference_conversation, data) # VALUES # ("{}", "{}", "{}", "{}") # """.format(Social_Network_App.__Current_User[0], data_other_user[3], # reference_conversation, # None) create_conversation = """ INSERT INTO conversation(user_id1, user_id2, reference_conversation, data) VALUES ("{}", "{}", "{}", null) """.format( Social_Network_App.__Current_User[0], data_other_user[3], reference_conversation) BDD.execute_query(create_conversation) select_new_conversation = """ SELECT * FROM conversation WHERE reference_conversation = "{}" """.format(reference_conversation) Social_Network_App.__Current_Conversation = BDD.show_bdd( select_new_conversation)[0] print("CMA --> SHOW __CURRENT_CONVERSATION :", Social_Network_App.__Current_Conversation) self.Activity_Conversation(data_other_user)
def Button_Send_Message(self, root): try: print("CMA -> Click Button Send Message -> Message: ", self.Entry_New_Message_user.get(), " User: "******" Conver: ", Social_Network_App.__Current_Conversation) Social_Network_App.__Chat_data = Social_Network_App.__Current_Conversation[ 4] print("CMA -> Click Button Send Message -> IsNone?: ", Social_Network_App.__Chat_data) if Social_Network_App.__Chat_data is None: print("CMA -> Click Button Send Message -> IsNone? YES") Set_New_chat = BDD.to_serizable_data([[ str(Social_Network_App.__Current_User[0]), self.Entry_New_Message_user.get() ]]) print("-----> ENVIAMOS: ", Set_New_chat) query_update_conversation = """UPDATE conversation SET data = "{}" where conversation_id = "{}" """.format( Set_New_chat, Social_Network_App.__Current_Conversation[0]) BDD.execute_query(query_update_conversation) else: print("CMA -> Click Button Send Message -> IsNone? NO") select_chat_conversation = """ SELECT data FROM conversation WHERE conversation_id = "{}" """.format( Social_Network_App.__Current_Conversation[0]) chat_serizable = BDD.show_bdd(select_chat_conversation) Social_Network_App.__Chat_data = BDD.to_not_serizable_data( chat_serizable) print("\n VIEW CHAT: ", Social_Network_App.__Chat_data) Social_Network_App.__Chat_data.append([ str(Social_Network_App.__Current_User[0]), self.Entry_New_Message_user.get() ]) Set_New_chat = BDD.to_serizable_data( Social_Network_App.__Chat_data) query_update_conversation = """UPDATE conversation SET data = "{}" where conversation_id = "{}" """.format( Set_New_chat, Social_Network_App.__Current_Conversation[0]) BDD.execute_query(query_update_conversation) print("\n VIEW CHAT: ", Social_Network_App.__Chat_data) root.config(state="normal") root.delete("1.0", "end") for index, item in enumerate(Social_Network_App.__Chat_data): if str(Social_Network_App.__Current_User[0]) == item[0]: root.insert(tk.INSERT, f"You: {item[1]}\n") else: root.insert(tk.INSERT, f"THEY: {item[1]}\n") root.config(state="disabled") except Exception as e: print(messagebox.showinfo(message="ERROR", title="Warning!")) print(f"CMA -> Click Button Send Message -> Error -> {e}")
def insert_user(self): create_user = """ INSERT INTO users(user_name, user_lastname, user_email, user_password) VALUES ("{}", "{}", "{}", "{}") """.format(self.user_name, self.user_lastname, self.user_email, self.user_password) print("Logical_Data -> Class Insert_user", create_user) #Insert user to DBB isReady = BDD.execute_query(create_user) return isReady
app = CLM.Social_Network_App(root) conection = BDD.create_connection("Social_network_database.db") create_users_table = """ CREATE TABLE IF NOT EXISTS users ( user_id INTEGER PRIMARY KEY AUTOINCREMENT, user_name TEXT NOT NULL, user_lastname TEXT, user_email TEXT NOT NULL UNIQUE, user_password TEXT ) """ create_conversation_table = """ CREATE TABLE IF NOT EXISTS conversation ( conversation_id INTEGER PRIMARY KEY AUTOINCREMENT, user_id1 INTEGER NOT NULL, user_id2 INTEGER NOT NULL, reference_conversation TEXT NOT NULL, data BLOB, FOREIGN KEY (user_id1) REFERENCES users(user_id) FOREIGN KEY (user_id2) REFERENCES users(user_id) ) """ BDD.execute_query(create_users_table) BDD.execute_query(create_conversation_table) print("MAIN -> Finished") # conection.close() app.mainloop()