Fixed habit checking and improved mechanics

This commit is contained in:
Verox001 2024-01-31 10:56:54 +01:00
parent e608bae846
commit 3b9dc2a73b
2 changed files with 12 additions and 5 deletions

4
app.py
View File

@ -298,6 +298,9 @@ def check_habit():
# Check if habit has been tracked today # Check if habit has been tracked today
delete_tracking = None delete_tracking = None
for tracking in trackings: for tracking in trackings:
if tracking.created_at.date() == datetime.date.today():
delete_tracking = tracking
"""
# day # day
if habit.unit == 0: if habit.unit == 0:
if tracking.created_at.date() == datetime.date.today(): if tracking.created_at.date() == datetime.date.today():
@ -318,6 +321,7 @@ def check_habit():
if tracking.created_at.date().year == datetime.date.today().year: if tracking.created_at.date().year == datetime.date.today().year:
delete_tracking = tracking delete_tracking = tracking
break break
"""
if not delete_tracking: if not delete_tracking:
HabitTrackings.create(habit_id, 1) HabitTrackings.create(habit_id, 1)

View File

@ -81,25 +81,28 @@ class Habit:
count = 0 count = 0
self.checked = False self.checked = False
for tracking in self.get_habitTrackings(): for tracking in self.get_habitTrackings():
if tracking.created_at.day == datetime.today().day:
self.checked = True
# day # day
if self.unit == 0: if self.unit == 0:
if tracking.created_at == datetime.today(): if tracking.created_at.day == datetime.today().day:
self.checked = True # self.checked = True
count += 1 count += 1
# week # week
elif self.unit == 1: elif self.unit == 1:
if tracking.created_at.isocalendar()[1] == datetime.today().isocalendar()[1]: if tracking.created_at.isocalendar()[1] == datetime.today().isocalendar()[1]:
self.checked = True # self.checked = True
count += 1 count += 1
# month # month
elif self.unit == 2: elif self.unit == 2:
if tracking.created_at.month == datetime.today().month: if tracking.created_at.month == datetime.today().month:
self.checked = True # self.checked = True
count += 1 count += 1
# year # year
elif self.unit == 3: elif self.unit == 3:
if tracking.created_at.year == datetime.today().year: if tracking.created_at.year == datetime.today().year:
self.checked = True # self.checked = True
count += 1 count += 1
self.percentage = int(count / self.times * 100) self.percentage = int(count / self.times * 100)