Python Kivy: сообщение о входе и выходе из приложения для обмена сообщениямиPython

Программы на Python
Anonymous
Python Kivy: сообщение о входе и выходе из приложения для обмена сообщениями

Сообщение Anonymous »

Я создаю простое приложение для обмена сообщениями для контроля входа. Всякий раз, когда пользователь входит в помещение, он создает строку и получает дату и время. Поэтому я хочу отправить входную информацию в приложение для обмена сообщениями. А когда он покинет помещение, он отправит еще одно сообщение с указанием времени отсчета.
Это мониторинг записей в моей таблице базы данных.



id
время
время выхода
дата
идентификатор пользователя




1
14:00
16:00
02 мая 2024 г.
1820191145


2
9 утра

2024 г. -05-03
1820191145



Вот как я получаю записи в data_handler.py. Мне сложно фильтровать вошедших в систему пользователей, поэтому я просто использовал определенные значения за среднее время.

Код: Выделить всё

def get_entries():
sql = "SELECT * FROM entrymonitoring WHERE student_id = (SELECT mystudent FROM parent_mystudent WHERE parent = '1' AND mystudent = '1820191145') ORDER BY `date` DESC LIMIT 6"
cursor.execute(sql)
results = cursor.fetchall()
return results
Это мой PublicScreen.py. Здесь код отображает только запись. Поэтому, если таймер обновлен, я хотел бы отправить другое сообщение, которое пользователь закрыл, например, в 16:00, не удаляя предварительно входное сообщение.

Код: Выделить всё

class PublicScreen(MDScreen):
def load_posts(self):
self.ids.posts.clear_widgets()
results = database_handler.get_entries()
for msg in results:
msg_card = MDCard(
orientation="vertical",
padding="20dp",
size_hint=[None, None],
size=["500dp", "120dp"],
pos_hint={"center_x": .5, "center_y": .5}
)

msg_title = MDLabel(
halign="left",
text="AMSAI",
theme_text_color="Secondary",
size_hint_y=None,
height="40dp"
)

title_separator = MDSeparator(
height="1dp"
)

msg_body = MDLabel(
halign="left",
text="User entered at " + str(msg[1]),
)

msg_timestamp = MDLabel(
text=str(msg[3]),
halign="right",
theme_text_color="Secondary",
size_hint_y=None,
height="5dp"
)

msg_card.add_widget(msg_title)
msg_card.add_widget(title_separator)
msg_card.add_widget(msg_body)
msg_card.add_widget(msg_timestamp)

self.ids.posts.add_widget(msg_card)
Это немного сложно, я даже не могу придумать, как это сделать. Я попробовал использовать оператор if, например, если msg[2] пусто, оно отправит входное сообщение, иначе оно отправит выходное сообщение. То есть раньше только обновил сообщение. Я хотел протолкнуть еще одно сообщение о выходе. Может ли кто-нибудь помочь мне с этим? Спасибо вам большое.

Подробнее здесь: https://stackoverflow.com/questions/784 ... it-message

Вернуться в «Python»