def refresh_names_navdrawer(self): for i in self.nav_buttons: val = i.val i.text = eval(val) # Заодно обновим дату for i in range(7): item = ThreeLineIconListItem() item.text = DAYOFWEEK_DICT[i] item.secondary_text = ", ".join(SCHEDULE.get(i, DEFAULT_SCHED)) self.main_widget.ids.rasp_all_list.add_widget(item) self.refresh_data()
def refresh_data(self): print("data", self.data) self.now = datetime.now() tz = pytz.timezone("Etc/GMT+4") tz.localize(self.now) self.check_expired_alerts() hierarchy = [] weekday = self.now.weekday() old_weekday = self.now.weekday() hour = self.now.hour today = False if hour < 14: today = True for i in range(6): if not today: i += 1 i += weekday if i == 6: i = 0 elif i > 6: i -= 6 for j in SCHEDULE[i]: if j not in hierarchy: hierarchy.append(j) self.algoritmus_data = {} self.algoritmus_header = "" for i in hierarchy: for j in self.data: if j.startswith(i): self.algoritmus_data[j] = self.data[j] self.algoritmus_header = i if self.algoritmus_data: break self.main_widget.ids.rasp_list.clear_widgets() today_list_item = ThreeLineIconListItem() today_list_item.text = "Сегодня ({})".format(DAYOFWEEK_DICT[weekday]) today_list_item.secondary_text = ", ".join( SCHEDULE.get(weekday, DEFAULT_SCHED)) self.main_widget.ids.rasp_list.add_widget(today_list_item) self.algoritmus_nextday = "На потом" if weekday in (5, 6): weekday = -1 weekday += 1 if self.algoritmus_header in SCHEDULE.get(weekday, []): self.algoritmus_nextday = "На завтра" if self.algoritmus_header in SCHEDULE.get(old_weekday, []) and today: self.algoritmus_nextday = "СДЕЛАТЬ СЕГОДНЯ!" today_list_item = ThreeLineIconListItem() today_list_item.text = "Завтра ({})".format(DAYOFWEEK_DICT[weekday]) today_list_item.secondary_text = ", ".join( SCHEDULE.get(weekday, DEFAULT_SCHED)) self.main_widget.ids.rasp_list.add_widget(today_list_item) if self.data: self.main_widget.ids.algoritmuscard.set_data( self.algoritmus_data, self.algoritmus_header, self.algoritmus_nextday) else: self.main_widget.ids.algoritmuscard.set_data( { "Действия": "Попробуй обновить данные. Если ничего не поменялось, отдыхай))" }, "Наверное, ты всё сделал", False, "База данных пуста :(") self.tasks_data = {} self.main_widget.ids.alerts_list.clear_widgets() if alerts['unreaded']: item = OneLineIconListItem() item.text = "Новые" item.add_widget(IconLeftWidget(icon="newspaper-plus")) self.main_widget.ids.alerts_list.add_widget(item) for i in alerts["unreaded"]: self.main_widget.ids.alerts_list.add_widget( ThreeLineListItem(text=i[0])) if alerts['readed']: item = OneLineIconListItem() item.text = "Прочитанные" item.add_widget(IconLeftWidget(icon="newspaper")) self.main_widget.ids.alerts_list.add_widget(item) for i in alerts["readed"]: self.main_widget.ids.alerts_list.add_widget( ThreeLineListItem(text=i[0])) for i in hierarchy: self.tasks_data[i] = {} for j in self.data: if j.startswith(i): self.tasks_data[i][j] = self.data[j] if self.tasks_data[i] == {}: self.tasks_data[i] = { "Не найдено записей в базе данных": "Обновите базу данных. Если так и остаётся, значит, всё сделано!" } self.main_widget.ids.tasks_layout.clear_widgets() for i in self.tasks_data: item = ItemCard() nextday = "На потом" if i in SCHEDULE[weekday]: nextday = "На завтра" if today and i in SCHEDULE[old_weekday]: nextday = "СДЕЛАТЬ СЕГОДНЯ!!" item.set_data(self.tasks_data[i], i, nextday, from_tasks=True) self.main_widget.ids.tasks_layout.add_widget(item) self.update_db() self.refresh_alerts_navdrawer()